0%

局域网多台主机使用MySQL数据库

  1. 局域网连接
  2. 创建用户
  3. 查看已添加的用户

局域网连接

如果遇到问题:Error: Error: connect ETIMEDOUT,提示连接超时,除了主机端口写错之外,还需要打开相关的端口(或者直接关闭服务器的防火墙,不过这样不安全)

  1. 打开“Windows安全中心 - 防火墙和网络保护”:
    • Win10:在设置中搜索防火墙
    • Win7:在控制面板找到Windows安全中心
    • Win10:设置-更新和安全-Windows安全中心
  2. 进入防火墙和网络保护,打开“高级设置”
  3. 点击“入站规则”,右键,在弹出的菜单中选择“新建规则”
  4. 选择“端口”、在特定本地端口中输入MySQL的端口号,如 3306
  5. 操作选择“允许连接”,应用规则三个复选框全选,名称自己取一个,如“MySQL3306端口”

设置完成后,局域网其他主机即可连接到当前主机上的MySQL数据库。

创建用户

"Host 'xxxxx' is not allowed to connect to this MySQL server"

如果出现以上提示,说明请求连接时使用的账户并不被允许访问数据库,此时应该在数据库的用户表中添加对应的用户。

打开MySQL的命令行,输入以下命令,创建用户、授权控制:

1
2
3
4
5
6
7
8
# 创建用户 用户名@主机
CREATE USER 'username'@'192.168.0.100' IDENTIFIED BY 'password';

# 授权控制
GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.0.100' WITH GRANT OPTION;

# 应用更新(类似于重启服务)
FLUSH PRIVILEGES;

创建用户时还可以指定插件:

1
2
# 指定使用原生密码字符串进行登录访问
CREATE USER 'username'@'192.168.0.100' IDENTIFIED with mysql_native_password BY 'password';

查看已添加的用户

1
2
3
use mysql;
select * from user;
select Host, User, plugin, authentication_string from user;