CentOS7虛擬機器安裝Mysql、Mysql報錯解決方案
一、安裝
首先在虛擬機器中安裝mysql,具體安裝在哪一個資料夾自己定義,樓主是在opt資料夾下安裝的
安裝mysql過程:
如果中間出現問題,可以嘗試解除安裝mysql,然後重新安裝
解除安裝mysql:
二、啟動
1.首先啟動Mysql,看看是否已經安裝mysql
[[email protected] /]#service mysqld start
如果只是出現:Redirecting to /bin/systemctl start mysql.service 不用在乎,證明你的mysql啟動沒什麼問題,
可以用:
ps -ef | grep mysql 檢視sql執行狀態
如果出現:ERROR!The server quit without updating PID file
這裡大概是因為selinux的原因,這時候我們開啟/etc/selinux/config 檔案,把SELINUX=enforcing改為SELINUX=disabled後儲存並退出重啟。然後再啟動mysql就可以了。
2.檢視Mysql的執行狀態
[[email protected] /]#service mysqld status
3.連線mysql伺服器
[[email protected] /]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user'root'@'localhost' (using password: YES)
出現這個問題是因為密碼匹配不正確,因為第一安裝mysql的時候密碼是空的,這個問題可以按照以下的步驟進行解決:
步驟一:
① 首先停止剛才已經啟動的mysql服務,執行以下指令:
[[email protected] /]#service mysqld stop
可以用上文中提到的查詢mysql指令進行查詢看看mysql是不是還在執行,如果還在執行,可以通過殺掉程序來關閉mysql服務,通過以下指令可以殺掉程序(xxxx代表mysql的埠號):
kill -9 xxxx
② 繞過mysql的密碼輸入,直接進入mysql,執行以下指令:
[[email protected] /]# mysqld_safe--user=mysql --skip-grant-tables --skip-networking &
③ 使用root使用者登入mysql,執行以下指令:
[[email protected] ~]# mysql -u root mysql
進入後開始更改root使用者的密碼,可以執行以下指令:
mysql> UPDATE user SET Password=PASSWORD('xxxxxx') where USER='root';
執行成功以後,重新整理許可權,執行接下來的指令:
mysql> flush privileges;
mysql>quit;
④ 重啟mysql:
[[email protected] /]# service mysql restart
⑤ 嘗試重新連線MySQL:
[[email protected] /]# mysql -u root -p
Enter password: xxxxxx
mysql>
到此為止mysql啟動成功