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






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章