一、拉取最新版本mysql
docker pull mysql
二、运行容器
1、初始运行
docker run -d --restart=always --name mysql3306 -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci;
2、拷贝配置文件等
sudo mkdir /home/mysql
sudo docker cp mysql3306:/var/lib/mysql /home/mysql/data
sudo docker cp mysql3306:/etc/mysql /home/mysql/conf
sudo docker cp mysql3306:/var/log/mysql /home/mysql/log
3、停止并删除容器
docker container stop mysql3306
docker container rm mysql3306
4、运行新的容器
docker run -d --restart=always --name mysql3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql -v /home/mysql/log:/var/log/mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci;
三、进入容器
docker exec -it mysql3306 /bin/bash
四、进入mysql
mysql -uroot -p
五、权限设置
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;