mysql 新建从库主从配置
http://www.forasp.cn/ 2023/8/14 12:26:38 点击:不统计
<网f站o学a习s制p作.cn>
使用mysql时要用到只读数据库,与线上主库分开,于是需要新简历主从数据库数据同步,下面将新建从库步骤拆分一下。
这里新建从库可以是没有从库到有从库,也可以是原来有从库,新建一个mysql从库。
mysql建立主从配置如下:
定义mysql主库ip :192.168.5.11 定义 server-id 1
定义mysql从库ip :192.168.5.12 定义 server-id 2
1. 配置mysql主库,调节my.conf
server-id = 1 # 这里需要注意,所有的主从库id 不能一样。可以自定义
log-bin = mysql-bin #开启binlog日志
重启mysql 使mysql配置生效
2. 备份mysql主库数据,为转移到mysql从库准备数据,[DbName] 为备份数据库名称,命令如下
mysqldump -uroot -p --master-data --single-transaction -R --databases [DbName] > db_back.sql
3. mysql主从配置第三部需要在主库中建立一个 用户 用于 从库读取 主库中的bin_log 做数据同步。
定义账号 CongKu 密码 congkuMiMa
grant select on *.* to Congku@localhost identified by "congkuMiMa";
4. 配置 mysql 从库,首先也是在my.cnf 中 mysqld 配置
server-id = 2 # 新增,这里是mysql 从库id 与主库不能一样。
relay-log=/mnt/mysql/relay-log.log # 新增同步日志位置
#log-bin=mysql-bin #注释掉这一样
replicate-do-db=[DbName] # 同步数据库名称,如果有多个,可以写多行,每行一个,我们这里使用的是一致数据库名称。从库名称可以与主库名称不一致。
重启mysql 使mysql配置生效
5.导入备份的数据库数据 到从库对应库中 >source db_back.sql
6.在 mysql备份数据库sql文件中,找到同步数据位置,
》head -n 25 db_back.sql
得到:
-- MySQL dump 10.13 Distrib 5.7.34, for Linux (x86_64)
.....中间省略了20行左右。
--
-- Position to start replication or point-in-time recovery from
--
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000117', MASTER_LOG_POS=256779975;
得到我们的同步log 日志文件为:mysql-bin.000117 同步位置为:256779975
7. 在从库中设置同步信息,执行如下sql
> CHANGE MASTER TO MASTER_HOST = '192.168.5.11',
MASTER_USER = 'Congku',
MASTER_PASSWORD= 'congkuMiMa',
MASTER_PORT = 3306,
MASTER_LOG_FILE='mysql-bin.000117',
MASTER_LOG_POS=256779975,
MASTER_RETRY_COUNT = 60,
MASTER_HEARTBEAT_PERIOD = 300;
MASTER_RETRY_COUNT 是重试连接次数
MASTER_HEARTBEAT_PERIOD表示心跳的周期,单位 秒
8. 然后启动mysql从库 slave
> start slave;
9 查看从库状态
》show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 107.148.239.136
Master_User: Congku
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000119
Read_Master_Log_Pos: 546899863
Relay_Log_File: relay-log.000015
Relay_Log_Pos: 74203716
Relay_Master_Log_File: mysql-bin.000119
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB
如果看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
表说从库运行正常。
到此 mysql 主从库配置完毕,库看一下数据库是否同步了。
http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
·上一篇:mysql like 不区分大小写 >> ·下一篇:mysql 从库同步指定数据库 >>