docker 安装/还原 mysql


# docker 中下载 mysql
docker pull mysql #启动 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql #进入容器 docker exec -it mysql bash #登录mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #添加远程登录用户 CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';


还原
1)在本机路径下创建mysql目录
mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf ~/mysql/sql

2)将需要还原的sql脚本存放到 /mysql/sql 目录下
3)运行容器
docker run --name mysql -p 3306:3306 --privileged=true -v /root/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /root/mysql/sql:/docker-entrypoint-initdb.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

    -p     3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

    -v     /root/mysql/sql:/docker-entrypoint-initdb.d 将备份好的数据库文件存放在此,docker启动进会读取些文件的内容,并将数据库还原到docker

    -v    /root/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

    -v   /root/mysql/conf/mysqld.cnf :将mysql配置文件挂载到docker容器里 。

    -e     MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

    --privileged=true  在docker run时给该容器加权限
 
原文地址:https://www.cnblogs.com/peng-lan/p/11158105.html