数据库远程访问Mysql数据库:破解其他机器限制(其他机器访问mysql)

在企业应用中,一台客户机上可以有多个数据库服务器,这台客户机常常装有多个操作系统,每个操作系统可以安装不同的数据库软件。但有时,在一定的网络环境中,我们需要根据所拥有的权限和条件来访问远程数据库,这就需要为数据库服务器上Mysql数据库进行远程访问配置。

在之前版本的Mysql数据库中,使用以下几步可以解除访问权限限制,让数据库服务器上的Mysql数据库可以享受远程客户端访问的便利:

1、在MySQL的配置文件my.cnf中指定允许远程访问的IP地址;使用如下命令:

#vim /etc/my.cnf
[mysqld]
#绑定本地地址: bind-address = 127.0.0.1
#要让外网可以访问,可以设置为0.0.0.0: bind-address = 0.0.0.0

2、运行Mysql,创建一个远程用户;使用如下命令:

CREATE USER ‘username’@’hostname’ IDENTIFIED BY ‘password’;

3、为远程用户赋予权限:

GRANT ALL PRIVILEGES ON * . * TO ‘username’@’hostname’ WITH GRANT OPTION;

这样,只要在指定的IP地址范围内,我们就可以连接上这台Mysql服务器了。

不过,在Mysql8.0版本中,安全措施更加严格,以上命令已无法实现对远程客户端的访问控制。因此,为了安全起见,Mysql 8.0中新增的一个安全控件“caching_sha2_password”,需要在创建用户时手动启用。

因此,只有通过在Mysql 8.0中运行如下命令,才能使远程客户端可以访问Mysql服务器的数据库:

CREATE USER username@hostname IDENTIFIED WITH caching_sha2_password BY ‘password’;

要激活caching_sha2_password安全控件,我们还需要运行如下命令:

ALTER USER USERNAME@HOSTNAME IDENTIFIED WITH caching_sha2_password;

最后,重新启动Mysql服务器,以便使这些更改生效。

通过以上步骤,就可以让Mysql数据库跨网络远程访问,从而可以实现不同计算机上的用户之间的数据共享。


数据运维技术 » 数据库远程访问Mysql数据库:破解其他机器限制(其他机器访问mysql)