阿里雲centos安裝mysql-5.7.20-1.el6.x86_64.rpm

https://www.cnblogs.com/wsh1230/p/8119526.html

安裝mysql-5.7.20-1.el6.x86_64

解壓mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar;出來很多文件:如下

只需按照其中四個就好,因爲有依賴關係,所以順序很重要

step1:rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm 

step2:rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm 

step3:rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm 

step4:rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm

最後一步報錯了

 

解決:最後一不加參數 --force --nodeps

 

這樣就好了

啓動:

 再次啓動,並查看狀態

還可能會遇到這樣的問題,啓動失敗

 

 

 檢查mysql啓動日誌 路徑:/var/log

 

 

查看日誌發現mysql服務啓動的時候不能創建PID文件。 
在終端查看發現果然沒有/var/run/mysqld這個文件,然後創建:

[root@localhost~]# mkdir -p /var/run/mysqld

 然後重啓mysql的服務,但是還是失敗

[root@localhost~]# /etc/init.d/mysqld start
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.
                              [FAILED]

 

原來,/var/run/mysqld/的屬主和屬組還是root,mysql並不能在其中創建文件,後修改該目錄的屬主和屬組,啓動OK 。

[root@localhost~]# ls -ld /var/run/mysqld/
drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/
[root@localhost~]# chown mysql.mysql /var/run/mysqld/
[root@localhost~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):              [ OK ]

爲了保證數據庫目錄爲與文件的所有者爲 mysql 登陸用戶,如果你是以 root 身份運行 mysql 服務,需要執行下面的命令初始化
mysqld --initialize --user=mysql

systemctl start mysqld.service

mysql -uroot -p
第一次不用輸入密碼直接登錄,如果輸入密碼了或者碰到如下錯誤:

Access denied for user 'root'@'localhost' (using password:YES)

假設我們使用的是root賬戶。

1.重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文檔內搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim編輯狀態下直接輸入該命令可搜索文本內容)

在[mysqld]後面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程,如下圖所示:

保存文檔並退出:

#:wq

重啓msyql:

systemctl restart mysqld:

然後就可以登錄了:

登陸後修改root用戶的密碼爲root

必須是這個下面這個,別的都不好使

update user set authentication_string=PASSWORD("root") where user='root';

 

然後再次修改 /etc/my.cnf,把之前加的去掉,重新啓動

如果有錯誤提示:則

 

如果出錯,則修改root用戶的密碼

set global validate_password_policy=0;

set global validate_password_length=1;

SET PASSWORD = PASSWORD('123456');

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;//因爲上面修改了密碼爲123456,所以這裏也要改

最後一步:

flush privileges;­

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