欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

contos7 docker 并且安装 mysql

程序员文章站 2024-03-19 18:35:52
...

1:docker安装

  https://www.runoob.com/docker/centos-docker-install.html

  查看文档:很详细

2:docker安装mysql 

1:下载mysql镜像

      查看mysql版本 

             命令  docker search mysql

      下载mysql最新镜像 

             命令  docker pull mysql:latest

2:启动mysql

     docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

     -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服                                  务。

      MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码

3:开放3306端口

   1:登录阿里云配置安全策略 

contos7 docker 并且安装 mysql

  

contos7 docker 并且安装 mysql

2:xshell进入linux服务器 开放3306端口

 

CentOS7使用firewalld防火墙(7之前使用iptables),需要使用到的命令如下: 
1) systemctl start firewalld:启动前可以先用systemctl status firewalld查看firewalld状态; 
2) firewall-cmd --zone=public --add-port=8761/tcp --permanent:打开8761端口,其中端口号(8761)根据实际需要使用的端口决定; 
3) firewall-cmd --reload:重启服务; 
4) firewall-cmd --zone=public --list-ports:可以用来查看已打开的端口号; 
5) firewall-cmd --zone=public --remove-port=8761/tcp --permanent:当不希望这个端口被打开时,则使用该命令删除;

Ps:如果使用的是阿里云的CentOS7服务器,则还需要额外在控制台管理处打开需要使用的端口。(如果想用阿里云服务器的25端口发邮件,还得在安全中心提交申请…) 

 

重要:

远程连接docker会报错;以下操作

非root用户使用docker命令:将用户添加docker组,
gpasswd -a username docker

docker mysql 启动后无法远程连接:
docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

启动后用navicat无法连接,错误如下:
contos7 docker 并且安装 mysql

解决办法:

docker exec -it mysql01 bash
mysql -u root -p

(1) 查看用户信息

select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host      | user             | plugin                | authentication_string                                                  |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| %         | root             | caching_sha2_password | $A$005$wu)k:T&:	i%3_q-u=D2yi.Zt/nmvVUijtFm7hzFHK/UqC7W9RxMS9KHAFhh6 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
N;}J&alhost | root             | caching_sha2_password | $A$005$ 
B5): L6^xTKlNIRYWKAdK2Mbn.G3LfJsDoVaZFDNRxo3MekXm98 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.01 sec)

mysql> 

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.02 sec)
---------------------
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host      | user             | plugin                | authentication_string                                                  |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| %         | root             | mysql_native_password | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B                              |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
N;}J&alhost | root             | caching_sha2_password | $A$005$ 
B5): L6^xTKlNIRYWKAdK2Mbn.G3LfJsDoVaZFDNRxo3MekXm98 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)

阿里云服务器配置后依然无法连接问题
contos7 docker 并且安装 mysql
配置安全规则
contos7 docker 并且安装 mysqlcontos7 docker 并且安装 mysql

contos7 docker 并且安装 mysql