mysql数据从window导出mac导出,出现乱码的解决方式。

两个系统都是用的mysql 5.7。

先是将数据用navicat在winodw系统下导出,然后直接拷贝到mca系统下的navicat里。

然后也根据  sudo vim  /etc/my.cnf  (如果没有这个配置文件,直接创建就可以。) 修改了mysql 的配置文件。(在配置这里的时候,看到许多人说要先关闭mysql服务,再配置my.cnf,我是直接修改然后重启mysql服务的,如果你修改完配置重启完没效果的话,那还是建议先关闭mysql服务然后再做修改)。

[mysqld]
default-storage-engine=INNODB
collation-server = utf8_general_ci
character-set-server = utf8

重启下mysql服务

sudo /usr/local/mysql/support-files/mysql.server restart


然后 通过mysql -u root -p  回车 之后输入mysql的密码进入mysql的console。

输入show variables like "char%";查看我们修改mysql配置以后,编码格式有没有变成utf8

+--------------------------+-----------------------------------------------------------+
| Variable_name            | Value                                                     |
+--------------------------+-----------------------------------------------------------+
| character_set_client     | utf8                                                      |
| character_set_connection | utf8                                                      |
| character_set_database   | utf8                                                      |
| character_set_filesystem | binary                                                    |
| character_set_results    | utf8                                                      |
| character_set_server     | utf8                                                      |
| character_set_system     | utf8                                                      |
| character_sets_dir       | /usr/local/mysql-5.7/share/charsets/ |
+--------------------------+-----------------------------------------------------------+

这里都已经修改好了。然后我就兴奋的去ide中查询显示结果了,但是还是各种乱码,然后各种找网址找解决办法,各种的做修改。


最终我考虑是在window上navicat导出数据的时候出现的问题。

然后就换了一种解决办法,用进入cmd来导出mysql的数据,不经过navicat来导出。


由于我没有配置mysql的全局变量,所以我进入到mysql的根目录下D:\mysql\mysql5.7\bin进行数据库的导出

输入mysqldump -u root -p database_name>g:\liongg.sql  回车输入数据库密码到g盘下查看是否生成.sql文件,

然后将导出的数据拷贝到mac系统下,这里也是根据命令行来进行数据库的导入操作的,并没用使用navicat导入。

在mac系统下,命令行输入mysql -u root -p 进入mysql的console里面。

1.首先创建我们的数据库databae_name(记住数据库名称不能改变,也不能用“-”);

2.然后use  databae_name

3.source 直接将拷贝过来的数据文件粘贴过来;

4.将navicat的整个连接的格式改成auto,(本人之前是utf8,然后导数的数据是???)

至此我们就完成了数据库从window系统,迁移到mac系统下。

不过还有一点不明白的是为什么navicat里面使用数据库自带的console查询到数据库编码格式仍然存在latin1

,但是存和取的汉字格式已经没有问题。


mysql> show variables like "char%";
+--------------------------+-----------------------------------------------------------+
| Variable_name            | Value                                                     |
+--------------------------+-----------------------------------------------------------+
| character_set_client     | latin1                                                    |
| character_set_connection | latin1                                                    |
| character_set_database   | utf8                                                      |
| character_set_filesystem | binary                                                    |
| character_set_results    | latin1                                                    |
| character_set_server     | utf8                                                      |
| character_set_system     | utf8                                                      |
| character_sets_dir       | /usr/local/mysql-5.7.21-macos10.13-x86_64/share/charsets/ |
+--------------------------+-----------------------------------------------------------+
8 rows in set (0.02 sec)

可能会用到的操作。

启动mysql服务

sudo /usr/local/mysql/support-files/mysql.server start

关闭mysql服务

sudo /usr/local/mysql/support-files/mysql.server stop






猜你喜欢

转载自blog.csdn.net/qq_35221138/article/details/79910241
今日推荐