一、将自己的数据库云服务(阿里云或腾讯云)的数据导出到本地,由于购买的是服务,所以没有服务器可以ssh ,购买服务的优势在于,费用小,免去管理成本和实体机成本;缺点可操作性差,安全性差。数据库服务只能通过 mysql -h -u -p 连接到数据库,进行查看,并不能访问到数据库所在的服务器。
方案一:使用 select … into outfile/dumpfile ‘filepath’ ,此方案只能将数据导出到服务所在的服务器目录下(即本地),且总是受读写文件的权限限制;
方案二:使用 mysqldump 命令,做数据备份,将数据导出备份到本地,然后结合方案一操作,但是如果只是导入关心的数据而采用此方法太耗时耗力;
方案三:使用 mysql -h host -u user -p -e ‘select …’ > ‘本地文件路径’;(文件可以不存在)
eg:
mysql -h ipaddr -u user -p -e "use databasename ;select t1.c_update_time,t2.c_prize_content,t3.c_cellphone from t_prize_owner t1 join t_prize t2 on t1.c_prize_id=t2.c_prize_id join t_user t3 on t1.c_user_id=t3.c_user_id " > ./dump_20151111.xls
当将上面的语句放入sh文件时,-e后面的参数使用变量时,必须是双引号“””,否则变量不被识别
#!/bin/sh
#定义变量
execsql="use databasename ;select t1.c_update_time,t2.c_prize_content,t3.c_cellphone from t_prize_owner t1 join t_prize t2 on t1.c_prize_id=t2.c_prize_id join t_user t3 on t1.c_user_id=t3.c_user_id"
mysql -h host -u user -p -e "$execsql" >/home/user/deploy/downloads/dump20151116.csv
二、远程复制scp
scp 远程如果涉及到端口号则使用-P 命令,一定要大写P
scp -P port user@host:/filepath localpath
1、复制远程文件到本地:
scp user@host:filepath localdic ;
eg:
scp u@192.168.111.12:/home/kuoren/deploy/downloads/dump_20151111.xls /home/kuoren/data
2、复制本地文件到远程
scp localfilepath user@host:remotedirpath
eg:scp ./test.sh user@192.168.112.12:/home/user/directory/
三、多文件合并cat
1、多个文件合并到一个文件
eg
cat add_table_20151012.sql add_table_20151027.sql > add_table.sql
2、将一个文件追加到另一个文件之后
eg 将add_table.sql内容追加到create_table.sql内容之后
cat add_table.sql >> create_tables.sql
四、自动化
1、如果经常需要复制文件和登陆远程,可已将命令写成sh文件,每次直接执行即可
sh 文件的开头必须是 #!/bin/sh
sh 文件注释 #
sh 文件需要有执行权限 :chmod +x file.sh
sh 文件执行:./shfile.sh 其中./代表当前目录
文件一 :
#!/bin/sh
scp ~/data/sh/user_order_flow.sh user@host:/home/user/deploy/uploads/
或者使用变量,作为输入参数
文件二 upload.sh :
#!/bin/bash
scp $1 user@host:/home/user/deploy/uploads/
执行文件二是需要使用:./upload.sh ~/data/sh/user_order_flow.sh($1)
五、ubuntu查看支持的中文字体
方法一:使用命令:fc-list :lang=zh-cn
方法二:打开LibreOffice,输入中文可以查看系统支持的字体