mysql支持远程连接

当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060),我们从以下几个方面入手,找出错误的原因:

1.网络不通。

检查能不能ping通。

2.防火墙设置。

防火墙是否放过mysql的进程,是否屏蔽了mysql的3306端口。

3.mysql的账户设置。

mysql账户是否不允许远程连接。如果无法连接可以尝试以下方法:

  1. mysql -u root -p    //登录MySQL  
  2.  
  3. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;     //任何远程主机都可以访问数据库  
  4.  
  5. mysql> FLUSH PRIVILEGES;    //需要输入次命令使修改生效  
  6.  
  7. mysql> EXIT    //退出 

也可以通过修改表来实现远程:

  1. mysql -u root -p  
  2.  
  3. mysql> use mysql;  
  4.  
  5. mysql> update user set host = '%' where user = 'root';  
  6.  
  7. mysql> select host, user from user; 
### 安装并配置 Docker 中的 MySQL 支持远程连接 #### 配置 Docker 软件仓库 为了安装 Docker,在 CentOS 上可以先通过 `yum-config-manager` 添加 Docker 的官方软件仓库[^1]。 ```bash [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` #### 启动 MySQL 容器 可以通过以下命令拉取并运行 MySQL 容器: ```bash docker run --name=mysql-server -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:latest ``` 上述命令会创建一个名为 `mysql-server` 的容器,并设置 root 用户密码为 `root`,同将主机的 3306 端口映射到容器内的 3306 端口[^2]。 #### 修改 MySQL 权限以支持远程访问 进入正在运行的 MySQL 容器内部环境后,登录 MySQL 数据库并对用户权限进行调整以便允许远程连接[^3]。 ##### 步骤一:进入 MySQL 容器 找到目标容器 ID 或名称并通过如下方式进入该容器: ```bash docker exec -it mysql-server /bin/bash ``` ##### 步骤二:登录数据库 执行以下命令来登录 MySQL 数据库: ```sql mysql -uroot -proot ``` ##### 步骤三:更改用户权限 更新用户的 host 属性使其能够接受来自任意 IP 地址的请求。例如,对于 root 用户可执行下面 SQL 命令之一: ```sql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_new_password'; flush privileges; ``` 或者更简单的方式是重新定义密码: ```sql ALTER USER 'root'@'%' IDENTIFIED BY 'new_strong_password'; flush privileges; ``` #### 编辑 MySQL 配置文件 (my.cnf) 如果需要进一步优化绑定地址,则需编辑 `/etc/mysql/my.cnf` 文件中的 bind-address 参数改为监听所有网络接口(即设为 `bind-address=0.0.0.0`)。完成后重启服务即可生效。 最后确认防火墙已开放相应端口号以及 SELinux 设置不会阻止外部流量到达此服务器上的 MySQL 实例。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值