| Docker安装MySql1、下载镜像最新版本 docker pull mysql 指定版本 docker pull mysql:8.0.16 2、在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权mkdir -p /usr/mysql/conf /usr/mysql/data chmod -R 755 /usr/mysql/ 3、创建配置文件vim /usr/mysql/conf/my.cnf 在配置文件里面添加内容 [client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file        = /var/run/mysqld/mysqld.pid
#socket          = /var/run/mysqld/mysqld.sock
#datadir         = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
 4、启动容器docker run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v 
/usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16
  
 参数解释:-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录
 -d : 后台运行容器 -p 映射容器端口号和宿主机端口号 -e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码 5、修改mysql密码以及可访问主机$ docker exec -it mysql /bin/bash
 $ mysql -uroot -p
 $ mysql> use mysql
 $ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
  
 注意: mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接 $ mysql> flush privileges;
 设置开机自启 docker update mysql  --restart=always
 |