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,所以這裏也要改
最後一步: