MySQL:从其他系统/计算机连接

时间:2020-01-09 10:42:42  来源:igfitidea点击:

在CentOS/Fedora/RHEL/Redhat Linux下,如何从同一VLAN中的其他服务器(例如Apache或者Tomcat应用程序服务器)连接到MySQL数据库服务器?
首先,您需要打开数据库服务器的远程访问。

步骤1:配置MySQL服务器进行远程访问

打开终端或者使用ssh命令登录到192.168.1.5:

$ ssh [email protected]

编辑/etc/my.cnf,执行:

# vi /etc/my.cnf

修改或者追加如下:

# make sure the following line is deleted or commented out
# skip-networking
bind-address    = 192.168.1.5

保存并关闭文件。
重新启动mysql服务器,执行:

# service mysqld restart

确保TCP端口3306已为业务打开

验证TCP端口3306是否打开,执行:

# netstat -tulpn | grep :3306

步骤2:TCP端口3306的Linux防火墙配置

您需要在防火墙级别打开TCP端口3306,执行:

# iptables -A INPUT -i eth0 -s 192.168.1.8 -p tcp --destination-port 3306 -j ACCEPT
# service iptables save

步骤3:配置数据库远程访问

您需要使用名为foo的用户名,从名为192.168.1.8的远程IP授予对名为salesdb的现有数据库的访问权限。
首先,以root用户身份连接到mysql服务器,执行:

# mysql -u root -p mysql

执行以下命令:在mysql>提示符下,执行:

mysql> update db set Host='192.168.1.8' where Db='salesdb';
mysql> update user set Host='192.1681.8' where user='foo';
mysql> \q

登录到192.168.1.8并执行以下命令以测试mysql服务器的远程访问题描述:

$ mysql -u foo -h 192.168.1.5 -p salesdb

输出示例:

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 27720995
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>