docker安装mysql,开启主从
2024-10-20 08:42:39
docker pull mysql:5.7
- 创建目录/mydata/mysql/log /mydata/mysql/conf /mydata/mysql/data
- docker run -itd --name mysql-back -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql mysql:5.7
- docker exec -it '容器ID' bash 进入容器
主数据库
#my.cnf配置编码和忽略大小写
character_set_server=utf8
init_connect='SET NAMES utf8'
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
lower_case_table_names=1
my.cnf添加
server-id=1 # 服务器唯一id 保证唯一,不能重复(一般为ip最后一段)
log-bin=mysql-bin # 启用二进制日志,MySOL的bin-log的名字
binlog-do-db=mydb # 指定需要同步的数据库
重启mysql
service mysqld restart
在MySQL主上创建用于备份账号
CREATE USER 'resp'@'%' IDENTIFIED BY 'repl123456'; GRANT REPLICATION SLAVE ON *.* TO 'resp'@'%';
MySQL主上,查看bin-log的文件名和位置并记录(resp_mysql.000001 | 605 )
SHOW MASTER STATUS;
编辑MySQL从数据库上的my.cnf
注:docker映射目录创建mysql默认没有配置文件,需要自己创建,目录 /mydata/mysql/conf。也可以先临时创建一个mysql容器,把配置文件cp出来,删除容器后再重新创建挂载。
vi /mydata/mysql/conf/my.cnf
character_set_server=utf8
init_connect='SET NAMES utf8'
lower_case_table_names=1
server-id=2
执行SQL
change master to master_host='ip',master_user='resp',master_password='repl123456',master_port=13306,master_log_file='resp_mysql.000001',master_log_pos=286944;
master host:MySQL主的地址
master_user:备份的用户名
master_password:备份的用户密码
master_log_file:bin-log的文件名
master_log_pos:bin-log的位置
MySOL从上开启同步(如果主数据库之前已有数据,先备份还原到从数据库)
START SLAVE;
查看状态
show slave status
主服务器防火墙端口需要开放从数据库的IP地址,从服务器无需开启。
#修改mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #给所有权限
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
最新文章
- AutoMagic
- python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码
- MVC5 + EF6 + Bootstrap3 (11) 排序、搜索、分页
- 用 eric6 与 PyQt5 实现python的极速GUI编程(系列03)---- Drawing(绘图)(1)-- 绘写文字
- 通过javascript完成分页查询功能
- 规范化ProjectEuler
- C#对XML、JSON等格式的解析
- DCI
- js比较两个日期大小
- Visual Studio 2017无法加载Visual Studio 2015创建的SharePoint解决方案
- spark集群搭建整理之解决亿级人群标签问题
- 项目中的Git七步精髓
- Spring源码学习-容器BeanFactory(四) BeanDefinition的创建-自定义标签的解析.md
- CAS工程用redis集群存储票据ticket Spring整合
- LGOJ P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
- python摸爬滚打之day21---- 模块
- STM32 定时器级联
- 调查显示数据分析已取代Web开发成为第一用例
- POJ-1160 Post Office (DP+四边形不等式优化)
- Linux系统优势六大方面