使用以下命令即可進行MySQL安裝:
sudo apt-get install mysql-server
上述命令會安裝以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此無需再安裝mysql-client等。安裝過程會提示設置mysql root用戶的密碼,設置完成后等待自動安裝即可。默認安裝完成就啟動了mysql。
- 啟動和關閉mysql服務器:
service mysql start service mysql stop
- 確認是否啟動成功:
sudo netstat -tap | grep mysql
- 進入mysql shell界面:
mysql -u root -p
- 解決利用sqoop導入MySQL中文亂碼的問題
導致導入時中文亂碼的原因是character_set_server默認設置是latin1,如下圖。
可以單個設置修改編碼方式set character_set_server=utf8;
但是重啟會失效,建議按以下方式修改編碼方式。
(1)編輯配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8
。如下圖
(3)重啟MySQL服務。service mysql restart
(4)登陸MySQL,並查看MySQL目前設置的編碼show variables like "char%";
這樣就可以愉快的導入中文了!
下面回顧一下安裝過程中我遇到的問題:
1、安裝到Renaming removed key_buffer and myisam-recover options (if present)
就卡住了,而且ctrl+C 也無法退出,最后我關閉了終端強制退出了,但是我發現運用sudo netstat -tap | grep mysql
居然顯示是啟動成功的,可是進入shell界面就會出現問題,提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)
網上找了一堆方法,都無法解決。
無奈考慮卸載重裝:
sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor //這個apparmor是在裝mysql-server時裝上的,和安全有關
2、重啟電腦后(很多時候重啟是法寶),再次利用命令apt-get安裝mysql-server,運行到Renaming removed key_buffer and myisam-recover options (if present)
仍然卡住了,我再次中止了終端,發現啟動也是成功的,嘗試進入shell界面,出現另一種新的錯誤:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
,然后又是找了很多國內外資料,國內百度無法搜索出和這個錯誤完全相關的,還是老實翻牆上谷歌,提出的方案是需要刪除一些重復的配置文件,但是我連這個/var/run/mysqld/mysqld.sock
沒有,因此仍然無法解決。
再次卸載。考慮一定要卸載非常徹底。
sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor sudo rm /var/lib/mysql/ -R //非常重要 sudo rm /etc/mysql/ -R //非常重要
3、重啟電腦,再次利用命令sudo apt-get install mysql-server
順利安裝成功!
總結:一定要卸載非常干凈!