Docker 安装Mysql

1、查看可用的 MySQL 版本

 docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11626     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4423      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   862                  [OK]
percona                           Percona Server is a fork of the MySQL relati…   561       [OK]       
phpmyadmin                        phpMyAdmin - A web interface for MySQL and M…   359       [OK]       
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   91                   
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   89                   
centurylink/mysql                 Image containing mysql. Optimized to be link…   59                   [OK]
databack/mysql-backup             Back up mysql databases to... anywhere!         52                   
prom/mysqld-exporter                                                              43                   [OK]
deitch/mysql-backup               REPLACED! Please use http://hub.docker.com/r…   41                   [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   35                   
linuxserver/mysql                 A Mysql container, brought to you by LinuxSe…   33                   
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   31                   [OK]
mysql/mysql-router                MySQL Router provides transparent routing be…   23                   
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   20                   
arey/mysql-client                 Run a MySQL client from a docker container      19                   [OK]
fradelg/mysql-cron-backup         MySQL/MariaDB database backup using cron tas…   16                   [OK]
openshift/mysql-55-centos7        DEPRECATED: A Centos7 based MySQL v5.5 image…   6                    
devilbox/mysql                    Retagged MySQL, MariaDB and PerconaDB offici…   3                    
idoall/mysql                      MySQL is a widely used, open-source relation…   3                    [OK]
jelastic/mysql                    An image of the MySQL database server mainta…   2                    
ansibleplaybookbundle/mysql-apb   An APB which deploys RHSCL MySQL                2                    [OK]
widdpim/mysql-client              Dockerized MySQL Client (5.7) including Curl…   1                    [OK]
centos/mysql-80-centos7           MySQL 8.0 SQL database server                   1                    

2、拉取 MySQL 镜像

docker pull mysql:latest
#查看镜像
docker images

3、运行容器

安装完成后,我们可以使用以下命令来运行 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 用户的密码。

4、安装成功

通过 docker ps 命令查看是否安装成功:

image-20211104134243624

5、进入mysql命令行

mysql 为镜像名称 或者镜像id均可

docker exec -it mysql bash

6、登录mysql,允许远程登录

登录

mysql -u root -p

修改授权

update user set authentication_string = password('123456') where user = 'root';
#新增一个root用户,所有地址(%)的都可以访问,并且密码为123456 。这里可以根据你的情况酌情修改
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
#清除缓存,重新加载权限
flush privileges;

一般来讲如果是旧版的mysql,以上的操作,就已经让数据库可以外部访问了。但是很遗憾,在mysql5.7中,上面还不足够。

你需要修改 /etc/mysql/mysql.conf.d/mysqld.cnf 文件。将其中的

bind-address 注释掉。然后重启数据库,搞定

关注我的微信公众号

​​
​​​​在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值