Centos8 Docker安装mysql & 远程访问

kiaoio4 · 2021-04-14 14:22:20 · 3049 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-04-14 14:22:20 的主题,其中的信息可能已经有所发展或是发生改变。

Docker 安装Mysql

查找镜像

#docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10743               [OK]                
mariadb                           MariaDB Server is a high performing open sou…   4046                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   790                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   532                 [OK]                
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   87                                      
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   81                                      
centurylink/mysql                 Image containing mysql. Optimized to be link59                                      [OK]
bitnami/mysql                     Bitnami MySQL Docker Image                      50                                      [OK]
databack/mysql-backup             Back up mysql databases to... anywhere!         42                                      
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                                      [OK]
prom/mysqld-exporter                                                              37                                      [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   35                                      
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   29                                      [OK]
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   27                                      
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                                      
circleci/mysql                    MySQL is a widely used, open-source relation…   20                                      
mysql/mysql-router                MySQL Router provides transparent routing be…   19                                      
arey/mysql-client                 Run a MySQL client from a docker container      17                                      [OK]
fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron tas…   12                                      [OK]
yloeffler/mysql-backup            This image runs mysqldump to backup data usi…   7                                       [OK]
openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 image…   6                                       
devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offici…   3                                       
ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                                       [OK]
jelastic/mysql                    An image of the MySQL database server mainta…   1                                       
widdpim/mysql-client              Dockerized MySQL Client (5.7) including Curl…   1                                       [OK]

拉取Mysql5.7版本镜像

docker pull mysql:5.7

运行Mysql容器

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

参数说明

run                                               # 运行一个容器
-d                                                # 后台运行
-p                                                # 容器内部端口和服务器端口映射关联
--privileged=true                                 # 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf          # 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql              # 映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=123456                     # 设置MySQL数据库root用户的密码 
--name mysql                                      # 设值容器名称为mysql 
mysql:5.7                                         # 从docker镜像mysql:5.7中启动一个容器     
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci # 设值数据库默认编码

进入容器

docker exec -it mysql /bin/bash

连接Mysql

mysql -uroot -p
#密码 123456

创建用户

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test123' WITH GRANT OPTION;
#用户名: test , 密码: test123

查看容器ID

#docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql
172.17.0.4

允许任意IP连接

select host,user,plugin,authentication_string from mysql.user;
+-----------+---------------+-----------------------+-------------------------------------------+
| host      | user          | plugin                | authentication_string                     |
+-----------+---------------+-----------------------+-------------------------------------------+
| localhost | root          | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.session | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys     | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| %         | root          | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+---------------+-----------------------+-------------------------------------------+
#use mysql; && 设置新的密码
#ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)
flush privileges;
flush privileges;

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3049 次点击  ∙  2 赞  
加入收藏 微博
1 回复  |  直到 2021-06-14 15:24:59
summer-boythink
summer-boythink · #1 · 4年之前

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传