远程连接MySQL数据库

我们可以用:

mysql -h 192.168.0.3 -u root -p111111

连接到远程服务器的数据库。

但是,开始的时候会出现一条错误提示,比如:

ERROR 1130 (00000): Host '192.168.0.3' is not allowed to connect to this MySQL
server

这种问题一般出现在远程登录数据库的时候。原因是由于连接mysql数据库的用户名的权限不够,可以在服务器上用root用户登录,查看mysql数据库的user表,修改对应用户的host列的值为%(默认的为localhost)。具体步骤如下:

use mysql;
update user set host='%' where user='connect name';

进行到这里服务器的数据库会提示这样一条错误:

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

然后查看了下数据库的host信息如下:
mysql> select host from user where user = 'root';


+-----------------------+
| host |
+-----------------------+
| % | 
| 127.0.0.1 | 
| localhost.localdomain | 
+-----------------------+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:

mysql> flush privileges;

此时,完成了所有修改。

远程连接数据库成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
远程连接 MySQL 数据库,你需要确保以下几个步骤已经完成: 1. 在 MySQL 服务器上启用远程访问:默认情况下,MySQL 服务器只允许本地访问。你需要编辑 MySQL 配置文件,通常是 my.cnf 或 my.ini 文件,将 `bind-address` 参数设置为服务器的 IP 地址或 `0.0.0.0`,以允许来自其他主机的连接。保存并重启 MySQL 服务。 2. 创建数据库用户并授予权限:在 MySQL 中,每个用户都有特定的主机(host)权限。你需要创建一个具有远程访问权限的用户并为其授予适当的权限。可以使用以下命令创建用户: ```sql CREATE USER 'username'@'%' IDENTIFIED BY 'password'; ``` 然后,为该用户授予访问数据库的权限: ```sql GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%'; ``` 这将授予用户对指定数据库的所有权限。 3. 配置防火墙和网络设置:确保服务器上的防火墙允许来自客户端连接的流量通过 MySQL 的默认端口(通常是 3306)。如果你使用的是云服务提供商,还需要检查其安全组或网络配置,确保允许远程 MySQL 连接。 完成上述步骤后,你可以在客户端使用 MySQL 客户端工具连接到远程 MySQL 数据库。例如,可以使用 MySQL 命令行工具或图形化工具(如 NavicatMySQL Workbench 等)进行连接。在连接时,提供服务器的 IP 地址、端口、用户名和密码即可。 请注意,远程连接 MySQL 数据库可能会带来安全风险。确保采取适当的安全措施,如使用强密码、限制访问权限等,以保护你的数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值