1 示例
1 2
| docker pull mysql $ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
|
1 2 3
| #启动 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql -d 表示作为一个守护进程在后台运行
|
1 2 3
| docker run -p 3306:3306 --name mysql \ -e MYSQL_ROOT_PASSWORD=PASSWORD \ -d --user root hub.ieucd.com/library/mysql:5.7
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| 直接挂载目录可能失败,可以先运行个实例,把目录拷出来 Docker cp mysql:/etc/mysql /etc
先手动创建 rm -rf /var/lib/mysql/* /etc/mysql/* mkdir -p /etc/mysql/my.cnf.d /etc/mysql/conf.d /var/log/mysql /data/mysql;
root用户下不用修改拥有者为mysql(uid=999): # chown -R 999:999 /etc/my.cnf /etc/mysql/my.cnf.d /var/log/mysql /data/mysql;
然后把临时实例删了 docker rm fcc358a6085b
docker run -p 43306:3306 --name mysql \ --restart=always \ -v /etc/mysql:/etc/mysql/ \ -v /var/log/mysql:/var/log/mysql \ -v /var/lib/mysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD="MdyEc3Ukod" \ -e MYSQL_ROOT_HOST='%' \ -d hub.ieucd.com/library/mysql:8 \ --default-storage-engine=INNODB \ --max_connections=200 \ --default-authentication-plugin=mysql_native_password \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_utf8_general_ci
|
1 2 3 4 5 6 7 8 9 10
| #进入容器 docker exec -it mysql bash
#登录mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
#添加用户 CREATE USER 'ieucd'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'ieucd'@'%';
|
2 参考
https://www.runoob.com/docker/docker-install-mysql.html
https://blog.csdn.net/westworld2017163com/article/details/83150628