创建配置文件,数据目录
mkdir -p /opt/docker/mysql/conf mkdir -p /opt/docker/mysql/data
编写配置文件
vim /opt/docker/mysql/conf/my.cnf ################################################## [client] #socket = /opt/docker/mysql/mysqld.sock default-character-set = utf8mb4 [mysqld] #pid-file = /opt/docker/mysql/mysqld/mysqld.pid #socket = /opt/docker/mysql/mysqld/mysqld.sock #datadir = /var/lib/mysql #socket = /usr/mysql/mysqld.sock #pid-file = /usr/mysql/mysqld.pid datadir = /opt/docker/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/ ##################################################
拉mysql镜像,启动容器
docker pull mysql:latest docker run \ --name mysql8 \ --restart=unless-stopped \ -it -p 3306:3306 \ -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /opt/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql
进入容器进入mysql配置密码
docker exec -it mysql8 /bin/bash mysql -u root -p use mysql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;