将全部的配置文件和关联的文件夹统一放到 /opt/docker/mysql 中
创建 MySQL 配置文件文件夹
mkdir -p /opt/docker/mysql/conf.d
增加并修改配置文件 config-file.cnf
vim /opt/docker/mysql/conf.d/config-file.cnf
输入如下内容:
创建 MySQL 数据文件夹
mkdir -p /opt/docker/mysql/var/lib/mysql
Windows使用这条:
进入容器
docker exec -it mysql bash
进入 MySQL
mysql -uroot -p
输入刚才我们设置的密码 root
授权
mysql>GRANT ALL ON *.* TO 'root'@'%'
刷新权限
mysql>flush privileges
更新加密规则
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER
更新 root 密码
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'
刷新权限
mysql>flush privileges
退出容器
exit
启动容器
docker start mysql
停止容器
docker stop mysql
重启容器
docker restart mysql
进入容器
docker exec -it mysql bash
删除容器
docker rm mysql
查看日志
docker logs -f mysql
备份数据
docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p 密码' >/usr/local/all-databases.sql
恢复数据
docker exec -i mysql sh -c 'exec mysql -uroot -p 密码' </usr/local/all-databases.sql
如果对MySQL比较熟悉,那么可以使用MySQL异机迁移的方法:
先确定MySQL的运行系统、发行版、版本号,以前的配置文件。
根据以上信息在Docker环境下新建一台全新的MySQL。
根据业务需要实施停机迁移/在线迁移,将数据迁入Docker内的MySQL。
停机迁移:直接拷贝数据文件(物理迁移)、全量Dump导出(逻辑备份迁移)、xtraback备份(物理备份迁移)
在线迁移:将新库作为从库加入集群,完成同步后fo切换,原主库下线。
如果对Docker比较熟悉,可以使用Docker整机迁移的方法:
整机虚拟化直接作为一个镜像在Docker内运行。
这种方法虽然简单,但过程漫长而且运行时性能损耗非常大,也容易出问题,不是很推荐。
docker里不是只能创建mysql数据库。今天主要是搭建mysql数据库,本来是准备使用dockerfile来创建mysql的镜像的,但是弄了几天也没弄好,所以就先放弃,直接使用docker的镜像源来搭建欢迎分享,转载请注明来源:内存溢出
评论列表(0条)