1.允许远程设置
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address 修改值为 0.0.0.0
2. 设置权限
sudo mysql -uroot -p #进入MySQL
mysql>use mysql; #切换数据库
mysql> UPDATE user SET host = '%' WHERE user = 'root'; #允许远程访问
mysql>flush privileges; #刷新权限
mysql>quit; #退出
service mysql restart # 重启mysql
尝试连接,如果仍然报错,可能root超级用户不可用!
自己新建一个用户再连接
3.新建一个用户
#创建用户
mysql> CREATE USER 'name'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; # name 为设的用户名,password 为要设的密码
#赋权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'name'@'%' WITH GRANT OPTION; # name 就是新建的用户名, % 这是所有的ip都能连接
4.成功
mysql>flush privileges; #刷新权限
mysql>quit; #退出
service mysql restart # 重启mysql
我Windows 的Navicat连接成功!