文章目录
1. Navicat可视化工具数据导出
- 示例
pass
2. mysql命令行导出
select into outfile
-
示例
SELECT * FROM
table
into outfile ‘/tmp/demo.txt’
select * from _TABLE into outfile ‘_FILE_NAME.csv’ fields terminated by ‘,’ optionally enclosed by ‘"’ escaped by ‘"’;" -
可选参数:
- fields terminated by ‘str’:设置字段之间的分隔符,默认值是"\t"。
- fields enclosed by ‘char’:设置包括住字段的值的符号,如单引号、双引号等,默认情况下不使用任何符号。
- fields optionally enclosed by ‘char’:设置括住CHAR、VARCHAR和TEXT等字符型字段的分隔符,默认情况下不使用任何符号。
- fields escaped by ‘char’:设置转义字符,默认值为""。
- lines starting by ‘str’:设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。
- lines terminated by ‘char’:设置每行数据结尾的字符,可以为单个或多个字符。默认值是"\n"。
-
注意: 如果出现
secure_file_priv
字眼的报错- show variables like ‘%secure_file_priv%’ ; 查看
当前会话
此变量的值 - show global variables like ‘%secure_file_priv%’ ; 查看
全局
此变量的值-
secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
-
secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
-
secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
-
- show variables like ‘%secure_file_priv%’ ; 查看
3. shell 调用 mysql命令导出(不常用)
-
示例
在-e参数中实际使用了两条命令,一条是设置字符集,另一条是select语句,通过管道把每一行数据都通过正则来处理。
正则中把字段之间的TAB键换为“,”,然后把字段值中的null替换为空字符
mysql -e “set names gbk;select * from newsdb.t_hk_stock_news where news_time > ‘2019-03-31 23:59:59’ limit 5” |sed -e “s/\t/,/g” -e “s/NULL/ /g” -e “s/\n/\r\n/g” > /db/test.csvmysql --host=_HOSTNAME --user=_USER --password=_PASSWORD -Bse “SELECT * FROM _TABLE” |
sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g'
> _FILE_NAME.csv -
1.shell执行: mysql -uroot -proot test -e “select * from demo” > test_demo.txt
-
2.Mysql命令行执行: select count(1) from table into outfile ‘/tmp/test.xls’;
4. mysqldump命令导出
1. 导出指定库所有数据(有创建库的语句)
- mysqldump -h -u -p --database databasename > databasename.sql
2.其他
- 常用命令
- mysqldump -h -u -p -d databasename > path: 导出数据库所有表结构不导出数据
- mysqldump -h -u -p -t databasename > path: 导出数据库所有表数据不导入结构(无建表)
- mysqldump -h -u -p databasename > path: 导出数据库所有表表结构和数据
- mysqldump -h -u -p databasename [–table] tablename > path: 导出数据库-特定表结构及数据 + -d 导出结构 -t 导出数据
- mysqldump -u root -p --all-databases > xx.sql: 导出所有数据库数据
- 显示指定某些特殊参数(不常用)
- mysqldump -h172.19.6.63 -uroot -pipanel --quote-names --skip-opt --add-locks --extended-insert --disable-keys --set-charset --create-options --single-transaction -q --no-autocommit -R --set-gtid-purged=OFF --default-character-set=utf8 --master-data=2 test >test.sql