网站制作学习网→http://www.forasp.cn/→正文:mysql 新建从库主从配置
字体:

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 从库同步指定数据库 >>
推荐文章
最新文章