mysql外网可以访问

下面介绍我常用的一个方法

修改表

假设登入 是以root用户root密码登入的

mysql -uroot -proot

切换到mysql数据库下面

use mysql

查看下表里面的用户

mysql> select host,user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)

跟新一下用户就可以了

mysql> update user set host ='%' where user='root';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

在查看一下

mysql> select host,user from user;
+------+------+
| host | user |
+------+------+
| %    | root |
+------+------+
1 row in set (0.00 sec)

注意最后还有最重要的一步,是修改生效

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

ok了

 

要让本地MySQL数据库从外网可以访问,需要进行一系列的配置和设置。请注意,开放MySQL外网可能会带来安全风险,因此请确保采取适当的安全措施(如使用强密码、限制IP地址等)。以下是一般步骤: ### 1. 修改MySQL配置文件 找到MySQL的配置文件`my.cnf`或`my.ini`(位置可能因操作系统而异),并编辑该文件。在配置文件中添加或修改以下内容来允许远程连接: ```ini [mysqld] bind-address = 0.0.0.0 skip-binding ``` 这里的`bind-address = 0.0.0.0`表示MySQL将监听所有网络接口,而不仅仅是localhost。`skip-binding`用于防止MySQL在启动时使用旧的绑定地址。 ### 2. 重启MySQL服务 保存配置文件后,需要重启MySQL服务以使更改生效。这可以通过以下命令完成(具体命令取决于你的操作系统): ```bash sudo systemctl restart mysql # 对于systemd系统 # 或者 sudo service mysql restart # 对于较旧的系统 ``` ### 3. 配置防火墙 如果你的服务器有防火墙运行,你需要允许外部访问MySQL的默认端口(通常是3306)。以下是针对常见的防火墙软件的示例: #### 使用ufw(Uncomplicated Firewall) ```bash sudo ufw allow 3306/tcp sudo ufw reload ``` #### 使用firewalld ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` ### 4. 设置MySQL用户权限 登录到你的MySQL数据库,并为希望远程连接的客户端创建或更新用户权限: ```sql GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 这里`'your_database.*'`表示该用户对指定的数据库拥有所有权限,`'%'`表示接受来自任何IP的连接。出于安全考虑,你可以将`'%'`替换为具体的IP地址或IP范围。 ### 5. 检查MySQL是否正常运行 你可以通过执行以下命令来检查MySQL是否在监听端口3306: ```bash netstat -plnt | grep 3306 ``` 或者(对于macOS): ```bash lsof -i :3306 ``` 如果看到类似`LISTEN`的输出,则表示MySQL正在监听该端口。 ### 安全注意事项 - **使用强密码**:确保为你的MySQL用户设置复杂且安全的密码。 - **限制IP访问**:尽量不采用`'%'`通配符,而是指定特定的IP地址或IP段来限制哪些客户端可以连接。 - **使用SSL/TLS**:启用SSL/TLS加密来保护数据传输过程中的安全性。 通过这些步骤,你应该能够让本地的MySQL数据库从外网访问,同时尽量减少潜在的安全风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值