生命不息,折腾不止!

Viva La Vida

mysql导入备份sql文件

mysql -u root -p

进入MYSQL后
mysql>use 导入的数据库名称;
mysql> source c:/test.sql;

乱码问题:
方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题
mysql -u root -p password < path_to_import_file –default-character-set = utf8

方法二: 在命令行导入乱码解决

  1. use database_name;
  2. set names utf8; (或其他需要的编码)
  3. source example.sql (sql文件存放路径)

导出数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名

通过执行指定查询 导出记录(from http://enjiex.blogbus.com/logs/203077332.html )

select user_name from user into outfile “a.txt”;
如果这是人自己的开发机,或者mysql用户具有mysql服务器写文件权限的话,这个应该是没有问题的。
但如果是想从服务器上把文件拉到本地,但使用的mysql帐号却没有mysql服务器写文件的权限,这时候肯定会报错误,如下:
Access denied for user “xx@xx”
因为select into outfile命令只能输出到mysql服务器所在的系统上,并不能写到本地。
然后怎么办呢?还有一个神器,使用mysql -e命令,如下:

mysql -h mysqlhost -u mysql_user -p -default-character-set=utf8 -e ‘select user_name from user’ userdb > filepath
即把-e后跟着的命令的执行结果写入到filepath的地方。
这时也会遇到mysql_user无权限写到本地的文件系统中,当然啦,mysql_user又不是本地用户,只需要在本地建一个同名用户即可。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注