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 12、拉取 MySQL 镜像
docker pull mysql:latest #查看镜像 docker images3、运行容器
安装完成后,我们可以使用以下命令来运行 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 用户的密码。
通过 docker ps 命令查看是否安装成功:
5、进入mysql命令行mysql 为镜像名称 或者镜像id均可
docker exec -it mysql bash6、登录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 注释掉。然后重启数据库,搞定
关注我的微信公众号



