CentOS下SQLAdmin网络配置技巧
使用ping命令测试服务器与客户端之间的网络可达性(如ping <client_ip>),确保物理链路和网络设备正常。若无法ping通,需排查网线、路由器或交换机配置。
ip addr show或nmcli device status确认网络接口(如ens33)是否处于UP状态,以及当前IP配置(静态/动态)。/etc/sysconfig/network-scripts/ifcfg-ens33),添加/修改以下内容(替换为实际值):DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
保存后重启网络服务:sudo systemctl restart network。/etc/resolv.conf文件,添加公共DNS服务器(如nameserver 8.8.8.8),确保域名解析正常。/var/opt/mssql/mssql.conf文件,在[network]部分修改tcp_port(默认1433):[network]
tcp_port = 1433
重启SQL Server服务:sudo systemctl restart mssql-server。/etc/my.cnf(或/etc/mysql/my.cnf),在[mysqld]部分修改port(默认3306):[mysqld]
port = 3306
重启数据库服务:sudo systemctl restart mariadb(或mysqld)。使用firewall-cmd命令开放数据库端口(如SQL Server的1433、MariaDB的3306),并重载防火墙规则:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent # SQL Server
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent # MariaDB/MySQL
sudo firewall-cmd --reload
验证端口是否开放:sudo firewall-cmd --zone=public --query-port=1433/tcp(返回yes表示成功)。
sudo setenforce 0(Enforcing模式变为Permissive模式)。若能连接,需配置SELinux策略:sudo setsebool -P httpd_can_network_connect_db 1 # 允许HTTP服务连接数据库(适用于Web环境)
/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissive,并重启系统。编辑数据库配置文件(SQL Server的mssql.conf、MariaDB的my.cnf),确保绑定地址允许远程连接:
[network]部分设置bind_address = 0.0.0.0(允许所有IP连接)。[mysqld]部分设置bind-address = 0.0.0.0。
修改后重启对应服务。使用SQL命令创建允许远程连接的用户,并授予权限(以MariaDB为例):
-- 登录数据库
mysql -u root -p
-- 创建远程用户('sqladmin'@'%'表示允许任意IP连接)
CREATE USER 'sqladmin'@'%' IDENTIFIED BY 'StrongPassword123!';
-- 授予所有数据库的所有权限(生产环境建议限制为特定数据库)
GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
退出数据库:exit。
使用SQLAdmin工具(或命令行)测试连接,确保配置正确:
mysql -u sqladmin -p -h <server_ip>(输入密码后若能进入数据库,说明配置成功)。http://<server_ip>:1433/sqladmin(替换为实际IP和端口),使用创建的用户登录。