MySQL远程数据库连接
连接远程数据库
1、显示密码:
使用命令mysql h 服务器IP地址 P 端口号 u 用户名 p密码
,连接到 IP 为192.168.5.116
的数据库,端口为3306
,用户名为root
,密码为123456
:
mysql h 192.168.5.116 P 3306 u root p123456
2、隐藏密码:
使用命令mysql h 服务器IP地址 P 端口号 u 用户名 p
,然后系统会提示输入密码:
mysql h 192.168.5.116 P 3306 u root p
配置MySQL允许远程连接
默认情况下,MySQL 只允许从localhost
登录,需要通过以下方法进行配置以允许远程连接:
1、改表法:
在localhost
登录 MySQL 后,更改mysql
数据库里的user
表的host
项,将"localhost"
改为"%"
。
update user set host = '%' where user = 'root'; select host, user from user;
2、授权法:
授予用户在任何主机上访问 MySQL 服务器的权限,允许用户myuser
使用密码mypassword
从任何主机连接到 MySQL 服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
允许特定 IP 的用户访问,例如允许用户myuser
从 IP 为192.168.1.6
的主机连接到 MySQL 服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.6' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
3、常见问题及解决方法:
如果在采用授权法之后无法在本地登录 MySQL,可以使用以下命令重新授予本地登录权限:
mysql> grant all privileges on *.* to 'root'@'loadb116' identified by '123456' with grant option; FLUSH PRIVILEGES;
或者在本地使用 IP 地址登录:
mysql u root p h 192.168.5.116
设置防火墙和配置文件
1、修改配置文件:
编辑 MySQL 配置文件(如my.cnf
或my.ini
),将bindaddress
配置项更改为0.0.0.0
,允许 MySQL 监听所有 IP 地址,在 Linux 系统上:
sudo nano /etc/mysql/my.cnf
找到并修改bindaddress
配置项:
bindaddress = 0.0.0.0
保存并退出编辑器。
2、重启 MySQL 服务:
修改配置文件后,重启 MySQL 服务使更改生效:
Ubuntu/Debian 系统:
sudo service mysql restart
CentOS/RHEL 系统:
sudo systemctl restart mysqld
3、创建远程访问用户并授予权限:
确保有一个用户可以从远程 IP 地址连接,创建一个用户remote_user
,密码为password123
,允许从任何 IP 地址连接:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password123'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
4、配置防火墙:
确保防火墙允许 MySQL 默认端口(3306)的远程访问,使用 UFW(适用于 Ubuntu/Debian):
sudo ufw allow 3306/tcp
使用 firewalld(适用于 CentOS/RHEL):
sudo firewallcmd permanent zone=public addport=3306/tcp sudo firewallcmd reload
5、验证远程连接:
从远程机器尝试连接 MySQL 服务器,使用命令行或客户端工具:
mysql u remote_user p h <your_server_ip>
输入密码后,如果成功连接则说明配置正确,也可以使用 SQL 工具如 MySQL Workbench 或 SQLyog 进行测试。
通过以上步骤,可以成功实现 MySQL 数据库的远程连接和管理,确保在配置远程访问时注意安全性,例如使用强密码、限制特定 IP 地址访问、启用 SSL 等措施来保护数据库安全。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1220817.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复