在linux中安裝mysql並解決中文亂碼問題

saka發表於2018-01-05

安裝mysql

linux安裝mysql相對來說比較麻煩,可能會遇到各種各樣的問題。安裝方式有兩種:

  1. 到官網下載安裝包

安裝包下載地址

下載完成後直接

sudo dpkg -i path/to/package
複製程式碼

即可

2.增加官方apt源,然後下載

官方源下載地址

此處下載最下邊30k左右的deb包, 下載完成後用管理員許可權執行

sudo dpkg -i path/to/package
複製程式碼

此時已經將官方源加入到我們自己的倉庫中了。 然後升級一下

sudo apt-get update
複製程式碼

此時可使用命令來安裝mysql

sudo apt-get install mysql-server
複製程式碼

安裝過程中會提示我們輸入root密碼,按照指示執行即可。

下面幾個命令比較常用,都應該能懂什麼意思

sudo service mysql state
sudo service mysql start
sudo service mysql stop
sudo service mysql restart
複製程式碼

此時mysql安裝完畢。

假如你使用了其他的shell終端,可能會出現不能啟動mysql的情況,只需要將你的設定的環境變數的檔案加入到你的新shell中啟動執行即可。

mysql中文亂碼問題

mysql在安裝完畢後,即使設定表中charset為utf-8後輸入中文仍然會出現"???""這樣的東西。 現在來一個一招解決的方法: 進入mysql環境,輸入

show variables like '%char%';
複製程式碼

出現如下表格

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

其中character_set_database不是utf-8,我們需要改變變數為utf-8

此處我寫了一個python指令碼用來修改這變數:

  1. 使用wget或者curl均可
wget https://raw.githubusercontent.com/rgf456/InitMysql/master/MysqlUTF.py
複製程式碼
  1. 下載完成後執行
sudo python3 MysqlUTF.py
複製程式碼

程式執行時會提示先將你的原path/to/mysqld.conf備份為path/to/mysqld.conf.bak.bak

  1. 重啟mysql
sudo service mysql restart
複製程式碼

此時進入mysql環境檢視,character_set_database已經變為了utf-8。 新插入的字元也正常了。

歡迎使用:github地址:https://github.com/rgf456/InitMysql

相關文章