之前自己在centos6.8下安裝mysql8.0過程中,在設置密碼時總是有格式錯誤或者其它報錯,找了許多資料,由於mysql版本不一樣等各種原因,始終解決不了。後經過各方資料總結,通過以下的操作步驟終於將mysql密碼設置完成了 。
1、跳過登入驗證
在/etc/my.cnf文件夾中的 [mysqld] 的後面添加skip-grant-tables;跳過登入權限驗證;
[mysqld]
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 添加跳過驗證(修改後重啓,修改完後刪除再重啓)
skip-grant-tables
2、重啓msyql服務
這一步驟是爲了使修改的配置生效
service mysqld restart
3、無密碼進入mysql
直接用 mysql ,或者mysql -u root;
mysql> use mysql;
4、先把密碼置爲空字符串
不這樣做後面修改密碼會報錯
mysql> update user set authentication_string="" where user="root";
#這個刷新非常有必要;不讓後面執行alter就會出錯
mysql> flush privileges;
5、安裝完mysql 之後,登陸以後,不管運行任何命令,總是提示下面這個
mysql error You must reset your password using ALTER USER statement before executing this statement.
解決方法如下:
step 1: SET PASSWORD = 'your new password';//設置mysql密碼
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
退出:mysql>quit;
6、重新登錄mysql
mysql> mysql -u root -p
再輸入新設置的密碼就行了,全部搞定!