ubuntu 18.04 安裝 mysql8遇到的坑

ubuntu安裝mysql遇到了很多問題,Linux上的問題特別多,國內網站上解決問題的資料又比較少,建議多看看官方文檔。

首先,ubuntu必須安裝mysql8,安裝mysql8以下的版本會遇到各種奇怪的問題。而apt-get上安裝的是5.7,官方文檔在此:https://dev.mysql.com/doc/refman/8.0/en/

先下載安裝mysql-apt-config_0.8.12-1_all.deb(dpkg安裝,下載地址:https://dev.mysql.com/downloads/repo/apt/),運行過程中會讓你選擇需要安裝的mysql版本,選擇mysql8就行了。這個安裝包的作用就是加入一個mysql的軟件源。因此安裝完成後一定要apt-get udpate一下。然後通過apt-get install mysql-server mysql-common。

網站大部分教程寫到這裏,就說可以通過service mysql start啓動mysql了。但是我測試了兩臺電腦,一臺ubuntu18.04,還有一臺16.04,都是安裝mysql8,安裝完成後,均無法通過service mysql start啓動服務,都提示mysql: unrecognized service,也就是不識別服務名。直接運行二進制文件mysqld,也不能成功,提示不能以root身份運行mysql,查看官方文檔https://dev.mysql.com/doc/refman/8.0/en/changing-mysql-user.html,不建議root運行。需要將/etc/mysql/mysqld.conf.d/myqld.cnf中加入user=username(這裏必須是已經建好的用戶)

改爲普通用戶運行後,又提示沒有權限創建datadir,再次翻官方文檔:

shell> chown -R user_name /path/to/mysql/datadir

繼續運行mysqld,仍然不能成功,報錯,無法創建/var/log/mysql/error.log,也是權限問題,但官方文檔中似乎沒有提到這個,再次賦予權限

現在可以運行了。但是mysql -uroot -p,使用安裝時設置的密碼無法登陸。網上查了,有人說可能是安裝時設置的密碼太簡單,未能通過驗證,無語!但是安裝過程沒有提示密碼複雜度不夠。這時遇到一個問題,通過mysqld啓動的服務,無法通過mysqld stop關閉。由於密碼不能通過驗證,mysqladmin也無法啓動,只能通過ps -A |grep mysql找到mysql進程,通過kill -9結束進程。然後通過mysql --skip-grant-tables &重新啓動mysqld,然後再通過mysql -uroot 進入數據庫,更新密碼,發現mysql8的修改密碼語句與之前的版本不了樣。。。。。ALTER USER "root"@"localhost" IDENTIFIED  BY "新密碼";修改密碼,別忘記flush privileges;

再次啓動mysqd,測試通過mysqladmin -uroot -p shutdown,輸入密碼,可以結束mysql進程了。

 

 

 

 

 

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