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