1.搜索mysql镜像
$ docker search mysql
2.拉镜像
$ docker pull mysql:5.7.19
3.运行mysql镜像
$ docker run --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.19
启动镜像 mysql 5.7 sql_mode 修改
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode =STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
启动
docker run --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.19
命令解析:
- --name:容器名
- --p:映射宿主主机端口
- -v:挂载宿主目录到容器目录
- -e:设置环境变量,此处指定root密码
- -d:后台运行容器
4.查看运行mysql容器
$ docker ps
运行容器列表
5.进入容器内部
$ docker exec -it 7a036187d7b9 /bin/sh
6.连接mysql
$ mysql -uroot -p
-
输入密码
登录 -
输入mysql查询语句
mysql> select host,user,plugin,authentication_string from mysql.user;
user列表
7.修改mysql的访问ip
‘%‘表示任何ip都可以访问
mysql> ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;