运行篇
命令:
# docker run -d -v /jenkins/mysql55:/var/lib/mysql -p 3306:3306 --name mysql55 -e MYSQL_ROOT_PASSWORD=root mysql:5.5.62 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
注意:映射目录设置777权限防止权限问题
登录篇
docker exec -it mysql55 /bin/sh
说明:mysql55 是运行时候指定的容器名称
通过上面命令可以直接登录容器里面,然后就像普通MySQL一样操作
登录数据库
mysql -uroot -proot
创建数据库
mysql>create database leftso;
创建用户
grant all privileges on leftso.* to leftso@'%' identified by 'leftso123456' WITH GRANT OPTION;
删除数据库
drop database leftso;
备份命令
备份所有库
docker exec mysql55 sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /jenkins/mysql55/all-databases.sql
备份指定库
docker exec mysql55 sh -c 'exec mysqldump -d mysql -uroot -p"root"' > /jenkins/mysql55/all-databases.sql
说明:
-d指定备份库为mysql
-p 后面根用户的密码
恢复命令
①复制数据文件到容器中
docker cp /root/mysql-leftso-20201114.sql mysql55:/
②执行恢复命令
docker exec mysql55 sh -c 'exec mysql -uroot -proot leftso < /mysql-leftso-20201114.sql '
③删除容器中的备份文件
docker exec mysql55 sh -c 'exec rm -rf /mysql-leftso-20201114.sql'