开启mysql远程连接
时间: 2025-01-02 08:24:52 浏览: 7
### 配置 MySQL 允许远程连接
#### 使用 Docker 安装并配置 MySQL
为了使通过 Docker 安装的 MySQL 实例能够接受来自任何主机的连接请求,在启动容器时已经映射了端口 `3306` 到宿主机上[^1]:
```bash
sudo docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root123 -p 3306:3306 -d mysql:5.7.44
```
进入正在运行中的 MySQL 容器内部环境,并执行必要的 SQL 命令来授予特定用户从任意 IP 地址访问数据库的权利。
#### 修改 root 用户权限
首先,获取对 MySQL 容器命令行界面的访问权:
```bash
sudo docker exec -it some-mysql /bin/bash
```
接着登录到 MySQL 控制台:
```sql
mysql -uroot -proot123
```
切换至 `mysql` 数据库以便修改用户表单记录:
```sql
use mysql;
```
更新现有用户的主机字段以允许其接收外部连接尝试。这可以通过设置 `Host` 属性为 `'%'`, 表明该账号可以从任一位置发起认证过程[^3]:
```sql
UPDATE user SET Host='%' WHERE User='root';
```
最后一步是赋予新创建或已存在的账户足够的特权级别用于管理整个实例内的资源对象。这里展示的是给予超级管理员角色(`ALL PRIVILEGES`)给名为 `root` 的全局身份验证实体:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123';
FLUSH PRIVILEGES;
```
完成上述操作之后退出 MySQL shell 和 Bash 终端即可生效变更措施。
阅读全文