MySQL 对其他服务器授权
MySQL默认情况下,只允许本地连接,即 localhost ,如果其他服务器需要连接到 MySQL,需要MySQL 对这个服务器授权语法格式:
grant 权限 on 数据库对象 to ⽤户
1. 使用下面 SQL,创建用户,并授权
java
-- 创建⽤户yulin, 并设置密码, 此步可省略
CREATE USER 'yulin'@'%' IDENTIFIED BY 'yulin@yyds.666';
-- 对yulin⽤户授权
-- *.* 表⽰所有库的所有表, 也可以指定库和表
-- %表⽰IP, %表⽰允许所有IP访问, 也可以指定IP
GRANT ALL ON *.* TO 'yulin'@'%';
-- 让修改⽣效
FLUSH PRIVILEGES;
2. 修改 bind-address
修改⽂件路径:/etc/mysql/mysql.conf.d/mysqld.cnf
把 bind-address = 127.0.0.1改为 bind-address = 0.0.0.0
java
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
使其可以接受来自任何IP地址的连接。
3. 重启 MySQL 服务器
java
sudo systemctl restart mysql
4. 开放 3306 端口号
5. 测试授权结果
使⽤CMD客户端,连接服务器 MySQL,如果可以正确连接,则授权成功
java
#把110.41.51.65改成⾃⼰服务器的IP -u改成设置的账号名 -p后是对应的密码
mysql -h110.41.51.65 -P3306 -uyulin -pyulin@yyds.666
连接成功就说明 MySQL 的权限已经开通