本篇文章有三大內容:安裝、設置root密碼、設置開機自啓,概述如下:
- 通過下載清華鏡像,yum方式安裝;
- 先設置跳過密碼驗證再修改root密碼;
- Centos7設置開機自啓的方式
可能不完全正規,但至少能解決問題。本人嘗試的兩臺機器都是CentOS Linux release 7.7.1908 (Core),安裝的mysql分別是5.7.12和5.6.24。
1. 刪除mariadb和原有mysql
–》rpm -qa | grep mariadb
–》rpm -qa | grep mysql
如果有查看結果,則用下面的語句刪除它
–》rpm -e --nodeps 查到的結果
關於徹底刪除msyql,請參考大佬的博文 Centos7 完全卸載mysql
2. 下載autoconf
autoconf是必要組件,如果沒有,安裝時會報錯
–》yum -y install autoconf
3. 清華鏡像上下載mysql的common、libs、client、server
4. yum localinstall xxx.rpm
順序是common、libs、client、server
如,yum localinstall mysql-community-common-5.7.12-1.el7.x86_64.rpm
5. 查看mysql是否安裝成功
當然,也可以用service mysqld status
6. 啓動
service mysqld start
7. 設置root 密碼
7.1 查看mysql安裝後生成的隨機密碼
–》grep ‘temporary password’ /var/log/mysqld.log。這一步其實可以不用執行的,直接從7.2 開始
很尷尬,還是登不進去
7.2 設置跳過密碼驗證
–》vi /etc/my.cnf,添加skip-grant-tables
–》service mysqld restart
現在直接mysql -uroot -p,不用輸入密碼,就能進入客戶端命令窗口
7.3 正式修改密碼
–》alter user ‘root’@‘localhost’ identified by ‘123456’;
如果有下面的報錯
可以flush privileges,再執行改密即可
用5.7.12,上面那麼改密碼是沒問題的。如果用5.6.24,會有ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '123456'' at line 1
的錯誤。解決方案是用下面的命令代替。如果還有報錯,嘗試重啓mysql,或者flush privileges之後,再執行下面命令。因爲本人在用下面語句前,有過重啓和flush privileges這兩個操作。
重新vi /etc/my.cnf,把skip-grant-tables註釋掉
8. 設置開啓自啓動
- centos7系統,是systemctl來管理服務。可以通過systemctl enable mysql來設置 mysql開機啓動自動
- 通過輸入ntsysv驗證是否開機自啓,括號裏有*,說明設置成功