這里不得不先吐槽下各種解決這個問題的文章,公司剛剛校招進來的新同學(xué)被坑的好慘,到處找解決辦法,結(jié)果搜索出來方法全都一樣,就是解決不了,一度懷疑自己是不是不適合這個職業(yè),只能說發(fā)布和搬運文章的作者們可能根本就沒有試過是不是能夠解決問題。
一、基本安裝過程
- 查看系統(tǒng)是否安裝了mysql軟件
rpm -qa|grep -i mysql
- 將已經(jīng)安裝過的軟件卸載掉
yum remove mysql
- 下載安裝mysql的repo源
CentOS 7的yum源中默認是沒有mysql的。所以,為了解決這個問題我們首先下載安裝mysql的repo源。
可以在MySQL官方的Yum Repository地址:https://dev.mysql.com/downloads或者https://repo.mysql.com/找到要下載的安裝包路徑,例如這里使用http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
- 安裝mysql的repo源
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
- 按照以下順序開始安裝
yum install mysql-server
yum install mysql-devel
yum install mysql
# 查看安裝結(jié)果
rpm -qa | grep -i mysql
- 服務(wù)開關(guān)操作
# 以下執(zhí)行其中之一即可
# 查看mysql當(dāng)前的狀態(tài)
service mysqld status
systemctl status mysqld
# 啟動mysql
service mysqld start
systemctl start mysqld
# 停止mysql
service mysqld stop
systemctl stop mysqld
# 重啟mysql
service mysqld restart
systemctl restart mysqld
- 設(shè)置MySQL開機啟動
systemctl enable mysqld
二、安裝完成后無法登錄的問題,這里不止針對CentOS,其他系統(tǒng)安裝MySQL方法相同。
安裝完成后用命令mysql -u root -p 然后Enter Password,但是無法登錄。解決辦法如下:
- 在
/etc/my.cnf文件中最后添加一行skip-grant-tables,作用就是跳過了MySQL的用戶驗證,然后重啟mysql,這里建議新手復(fù)制保存一份原文件,以便搞亂以后可以還原
systemctl restart mysqld
- 輸入mysql,不需要帶任何登錄參數(shù)直接回車就可以登陸上數(shù)據(jù)庫,進入數(shù)據(jù)庫之后依次執(zhí)行下面的命令:
use mysql;
show tables;
select user, authentication_string from user;
update mysql.user set authentication_string=password('') where user='root';
flush privileges;
exit;
- 恢復(fù)
/etc/my.cnf文件,將skip-grant-tables刪除或者注釋掉,然后重啟mysql
systemctl restart mysqld
- 使用空密碼進入MySQL,依次執(zhí)行下面的命令
# 將123456替換成需要設(shè)置的密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
exit;
問題解決