docker mysql8 数据卷

项目场景:

docker mysql8 数据卷


解决方法:

       隐约记得mysql在做数据卷的时候好像并没有权限问题,但是今天在使用mysql8的时突然遭遇了权限问题,但是在创建数据卷的时候docker却一点提示都没有,最初还以为是SELinux的安全问题,经过一顿操作关闭SElinux,但还是不行。。。最终猜测到会不会是权限问题,果然是权限问题。。。,因为在做数据卷的时候docker是以普通用户的身份进行访问宿主机磁盘的,如果我们做数据卷的文件夹没有开放相应的权限,就会造成数据卷的映射失败,但是docker并不会有提示。。。,最终尝试下载home目录创建数据卷,果然成功了。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将MySQL配置为主从复制并使用Docker加载数据,你可以按照以下步骤进行操作: 1. 创建一个用于主库的MySQL容器: ``` docker run --name mysql-master -e MYSQL_ROOT_PASSWORD=<root_password> -d mysql:tag ``` 请将`<root_password>`替换为你想要设置的实际root密码,并将`tag`替换为所需的MySQL版本。 2. 创建一个用于从库的MySQL容器: ``` docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=<root_password> -d mysql:tag ``` 同样,请将`<root_password>`替换为你想要设置的实际root密码,并将`tag`替换为所需的MySQL版本。 3. 将主库的数据目录挂载到数据中: ``` docker run --name mysql-master -v /path/to/master:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=<root_password> -d mysql:tag ``` 将`/path/to/master`替换为你希望挂载数据目录的实际路径。 4. 将从库的数据目录挂载到数据中: ``` docker run --name mysql-slave -v /path/to/slave:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=<root_password> -d mysql:tag ``` 将`/path/to/slave`替换为你希望挂载数据目录的实际路径。 5. 在主库中启用二进制日志。在主库容器中执行以下命令: ``` docker exec -it mysql-master mysql -uroot -p<root_password> -e "SET GLOBAL binlog_format = 'ROW'; FLUSH TABLES WITH READ LOCK;" ``` 确保将`<root_password>`替换为你之前设置的实际root密码。 6. 获取主库的二进制日志文件名和位置。在主库容器中执行以下命令: ``` docker exec -it mysql-master mysql -uroot -p<root_password> -e "SHOW MASTER STATUS;" ``` 记下显示的binlog文件名和位置。 7. 在从库中配置主从复制。在从库容器中执行以下命令: ``` docker exec -it mysql-slave mysql -uroot -p<root_password> -e "CHANGE MASTER TO MASTER_HOST='<master_host>', MASTER_USER='<replication_user>', MASTER_PASSWORD='<replication_password>', MASTER_LOG_FILE='<binlog_file>', MASTER_LOG_POS=<binlog_position>;" ``` 请将`<master_host>`替换为主库的IP地址或主机名,将`<replication_user>`和`<replication_password>`替换为配置主从复制所需的实际复制用户和密码。将`<binlog_file>`和`<binlog_position>`替换为之前记录的主库的binlog文件名和位置。 8. 启动从库的复制。在从库容器中执行以下命令: ``` docker exec -it mysql-slave mysql -uroot -p<root_password> -e "START SLAVE;" ``` 确保将`<root_password>`替换为之前设置的实际root密码。 现在,你的Docker容器中的MySQL主从复制已经配置完成,并且数据已经加载。请确保在配置和操作过程中使用合适的用户名和密码进行替换,并根据实际情况调整命令中的路径和其他参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值