1.環境說明
系統:ubuntu 16.04
mysql版本:5.7.26
2.設置方法
登錄mysql root用戶
mysql -u root -p
輸入root密碼登錄
執行以下語句:
mysql> use mysql; mysql> GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
以上步驟可能在mysql低版本上可行,如果還不能連接,繼續下面操作
退出mysql,執行以下命令
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address=127.0.0.1,這一行,將其注釋掉,即可
可能會遇到的問題:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
無法登錄數據庫
解決辦法:
1.設置跳過驗證進入數據庫
vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]字段下面,加入一行 skip-grant-tables
保存並退出
2.重啟mysql服務,不輸密碼直接進行登錄
#重啟mysql
sudo service mysql restart
#不輸密碼進行登錄
mysql -u root -p
3.mysql登錄成功后,在mysql中執行以下命令
$ mysql mysql> use mysql;
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost';
mysql> flush privileges;
mysql> quit;
4.去掉剛加入的跳過驗證的命令
vim /etc/mysql/mysql.conf.d/mysqld.cnf
刪除 skip-grant-tables 或者加 # 號注釋掉
5.重啟mysql服務,使用密碼 123456 進行登錄
sudo service mysql restart
#輸入123456
mysql -u root -p