本文最後修改時間:20180313 root預設為空密碼,預設遠程無法登錄。 mysql5.7更新了user表,網上的方法試了很多,都有點問題 \ 先停止MySQL服務 \ 跳過安全檢查 如果出現如下報錯信息 mysqld_safe Directory ‘/var/run/mysqld’ for U ...
本文最後修改時間:20180313
root預設為空密碼,預設遠程無法登錄。
mysql5.7更新了user表,網上的方法試了很多,都有點問題
#先停止MySQL服務
$ sudo service msyql stop
#跳過安全檢查
$ sudo mysqld_safe --skip-grant-tables &
如果出現如下報錯信息
mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
解決辦法還是很簡單的
$ sudo mkdir -p /var/run/mysqld
$ sudo chown mysql:mysql /var/run/mysqld
然後再執行
$ mysqld_safe --skip-grant-tables &
進入mysql
$ mysql -u root -p
#更改密碼,mysql5.7中hash的列名為authentication_string,不再是password了
mysql> UPDATE user SET authentication_string=PASSWORD("new password") WHERE user='root';
#允許root登錄,這裡改為允許從任意IP登錄,授予所有許可權
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new password' WITH GRANT OPTION;
#刷新許可權
mysql> FLUSH PRIVILEGES
#重新啟動MySQL服務
service msyql start