最新版本
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
5、修改mysql密码以及可访问主机参数解释:
-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录-d : 后台运行容器
-p 映射容器端口号和宿主机端口号
-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
- 进入容器内部
$ docker exec -it mysql /bin/bash
- 连接mysql
$ mysql -uroot -p
- 使用mysql库
$ 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



