轉:阿里雲上面部署mysql

weixin_34146805發表於2018-09-04

為方便自己查詢而轉,尊重原文作者

https://www.cnblogs.com/thinkingandworkinghard/p/6711255.html

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兩個源,可以去相應的路徑下檢視一下。

  1. 安裝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.

相關文章