centos7 安裝mysql以及常見問題的解決

在centos7上安裝mysql非常簡單。


首先下載Yum源的rpm包

具體地址在:

http://repo.mysql.com/

可以選擇自己需要的版本。

我下載的是:

wget http://repo.mysql.com/mysql57-community-release-el7.rpm

1、安裝rpm文件

通過命令,安裝MySQL的YUM源:

rpm -ivh mysql57-community-release-el7.rpm

可以在/etc/yum.repos.d中看到相關的repo文件:

[root@localhost yum.repos.d]# ls

CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo mysql-community-source.repo

CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo mysql-community.repo OpenLogic.repo

[root@localhost yum.repos.d]#

1、YUM安裝MySQL

通過yum命令安裝:

yum install -y mysql-server

等待安裝完成

啓動:

Systemctl start mysqld

查看:

Systemctl status mysqld

設置開機啓動:

Systemctl enable mysqld


當你安裝完以後,啓動服務時你有可能會遇到一些問題:

1、啓動報錯

[plain] view plain copy
  1. <span style="font-family:SimSun;font-size:14px;">Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.  
  2.                                                            [FAILED]</span>  

報這個錯,網上很多解決方案都說要這啊那的。但很多都沒有卵用。其實這個問題很多情況下沒有那麼複雜,就是文件夾權限的問題。(當然這裏不保證全部都是。反正我是這樣解決的)

首先查找你安裝的mysql位置

[root@localhost ~]# which mysql

/usr/bin/mysql


然後賦予權限就可以

/usr/bin/mysql r

/usr/bin/mysql/** rwk

或者直接給777權限:

chmod -R 777 /usr/bin/mysql

重啓: sudo service apparmor restart

然後就可以正常啓動mysql服務了。


2、登錄不了root用戶

  1. [root@localhost opt]# /usr/bin/mysql -u root  
  2. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  

網上的幾種解決方案,然而並沒有什麼卵用

  1. 方案一:  
  2. mysqladmin -u root password 123456,結果提示錯誤:error: 'Access denied for user 'root'@'localhost' (using password: NO)'  
  3.   
  4. 方案二:  
  5. 用mysqld_safe skip-grant-tables進入mysql,然後sql語句修改root密碼,還是提示錯誤:-bash: mysqld_safe: command not found  

解決:

1、現在mysql安裝一般都會給root隨機初始化一個密碼,所以我們要先找到這個密碼:

  1. [root@localhost opt]#  cat /var/log/mysqld.log  | grep password  
  2. 2016-07-16T05:01:47.771362Z 1 [Note] A temporary password is generated for root@localhost: q.)ti!Yage6y-  
  3. 2016-07-16T05:02:32.000199Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)  
  4. 2016-07-16T05:02:39.063852Z 3 [Note] Access denied for user 'root'@'localhost' (using password: NO)  

看到沒,密碼就是: q.)ti!Yage6y-


2、重新連接mysql:

  1. [root@zzs171 opt]# /usr/bin/mysql -u root -p  
  2. Enter password:  

輸入上面的密碼就能進入root用戶了。但是這個密碼好複雜,自己修改一下

3、修改登錄密碼

  1. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Mysqlpassw0rd.');  


注意密碼不要太簡單,否則會報錯。因爲mysql有檢測密碼強度

  1. mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');  
  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 

4、如果遠程登錄報錯Host isnot allowed to connect to this mysql server

在裝有MySQL的機器上登錄MySQL mysql -u root -p密碼

執行use mysql;

執行update user set host = '%' where user ='root';這一句執行完可能會報錯,不用管它。

執行FLUSH PRIVILEGES;

經過上面4步,就可以解決這個問題了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章