0.卸載已有的mysql
系統中可能早已存在mysql數據庫,所以在安裝之前我們需要將其卸載掉。
# rpm -qa|grep -i mysql
該命令將顯示已經安裝了的mysql軟件,之后通過下面的命令將軟件一個一個卸載掉就可以了。注意:這樣的卸載是不徹底,不過這里夠用了。
# yum remove '軟件名'
1.mysql的repo源 度娘說CentOS 7的yum源中默認是沒有mysql的。所以,為了解決這個問題我們首先下載安裝mysql的repo源。
# wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm # rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安裝之后會獲得/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo兩個源,可以去相應的路徑下查看一下。
2. 安裝mysql
# yum install mysql-server # yum install mysql-devel # yum install mysql
安裝完成之后重新檢查一下安裝了的mysql軟件。
# rpm -qa|grep -i mysql mysql-community-libs-5.7.10-1.el7.x86_64 mysql-community-common-5.7.10-1.el7.x86_64 mysql-community-client-5.7.10-1.el7.x86_64 mysql-community-devel-5.7.10-1.el7.x86_64 mysql57-community-release-el7-7.noarch mysql-community-server-5.7.10-1.el7.x86_64
3.登錄
# service mysqld status 查看mysql當前的狀態 # service mysqld stop 停止mysql # service mysqld restart 重啟mysql # service mysqld start 啟動mysql
首先,啟動mysql。不過當時的做法是嘗試登錄mysql而不是啟動或者查看該服務。
當時啟動
mysql時出現了一些錯誤,所以這里列舉一下自己嘗試過的解決方案,由於這些錯誤莫名的被決解了,不知道是否對最終的解決方案是否有影響,所以這里做一下記錄。
1.由於對mysql也不是特別的了解,在完成上述步驟之后登陸時遇到了ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)錯誤。參考度娘提供的解決方案:
//這個錯誤的原因是/var/lib/mysql的訪問權限問題。下面的命令把/var/lib/mysql的擁有者改為當前用戶。 # chown -R openscanner:openscanner /var/lib/mysql # chown -R root:root /var/lib/mysql
好像沒有什么效果。這個提示錯誤還是會出現。
2.於是乎接下來就是查看一下/var/lib/mysql/mysql.sock文件是否存在,第一次查看時該文件不存在,后來在/etc/my.cnf文件中添加了user=mysql,重啟了一下電腦,中途又卸載重新安裝了一下,之后該文件就出現了。原因這里就不細究了。
最終的解決方案,此時
mysql的服務是可以啟動/停止,不過用戶登錄不了。
mysql -u root 錯誤提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 登錄root帳號需要密碼,不過我們沒有。於是就是忘記密碼的操作了。 1.在/etc/my.cnf文件中添加skip-grant-tables。 2.重啟mysql,service mysqld restart 3.登錄mysql,# mysql -u root 4.修改密碼,
mysql>use mysql; mysql>update mysql.user set authentication_string=password('密碼') where user='root'; mysql>flush privileges; mysql>exit;
4.恢復/etc/my.cnf,將skip-grant-tables刪除或者注釋掉。 5.重啟mysql,service mysqld restart
之后一切就都回到正軌了,這里就不繼續啰嗦了。
唯一的一點:添加skip-grant-tables 是在my.cnf的最下面,第一次是最上面報了
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
