MySQL数据库从windows迁移到linux
前几天搭建了lamp环境,想把之前写的小东西迁到linux上运行,涉及到把mysql数据库的文件迁移到linux上,直接用fileZilla传过去应该不行,我试了下,反正没成功。下面是我采用的方法:
(一)用mysqldump命令导出数据库文件:
在windows下cd到Mysql的bin目录:
c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫user。输入密码之后,就可以去保存的目录下看看有没有数据文件了,有的话就成功了,感觉可能失败的地方就是没有cd到mysql的bin目录下或者是路径写错了还有最可能出错的是没有以管理员权限运行,会出现Errcode: 13 - Permission denied。
(二)用fileZilla把data.txt文本文件传到Linux上去:
这个很简单,就不用截图了
(三)打开linux,进入到Mysql,迁进数据库:
建议在迁进数据库之前先看看数据库的编码格式,不然会造成数据里面的中文变成乱码
结果是这样就是正确的,因为mysql默认的编码格式是Latin1。
修改编码格式是在etc目录下的my.cnf里面修改,如图:
添加这几个地方:
[mysqld]
character-set-server=utf8
collation_server=utf_general_ci
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
然后重启mysql服务,进入mysql,用show variables like "%char%";命令查看编码即可。
确认是utf8编码之后,就可以开始迁移数据库文件了。
source命令后面是用fileZilla传到linux上文本文件的位置。做完以上步骤,数据库迁移就完成了。