mysql数据库主从同步

一、基本流程

1.主库配置主从配置项,创建用于同步的账号,进行锁表,获取二进制日志的信息,备份数据
2.从库配置主从配置项,备份数据导入,从库配置主库信息,开启主从同步,验证信息
3.主库表解锁,手动创建库或者表,去从库验证是否同步

二、主库my.cnf配置

​
#我之前的文章《mysql5.7.40数据库部署安装》中my.cnf中已经包含了这块内容可以直接拿那个my.cnf使用

#找到[mysqld],在下面加入以下两行内容:

log-bin=mysql-bin

#id可自取,我一般取本机ip最后的网段

server-id=123

#修改后重启数据库

service mysql restart

​

三、创建同步账号

#登录主库mysql后台的bin路径下执行

./mysql -u root -p

#回车后输入数据库密码.可以复制粘贴,密码输入时不会显示

#回车进入数据库,然后依次执行以下两行命令

#设置账号salve(@前面的),密码设置为slave(最后的这个),%是设置可以通过其他服务器远程登录

CREATE USER 'slave'@'$slave_ip' IDENTIFIED BY '$slave_pass';

#如果账号写的是salve,则不需要修改任何内容,如果设置其他账号名,则需要将"slave"修改掉

grant replication slave on *.* to 'slave'@'$slave_ip' identified by '$slave_pass';

四、锁表操作

#进行锁表操作,执行以下命令

flush tables with read lock;

五、获取主库二进制日志信息

#执行以下命令
show master status;

#会打印如下内容:记住File和Position的值,从库同步时会用到

+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |   524516 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

 六、主库数据备份

#备份数据库的两种方法(如果主从都是辛苦不需要迁数据,部署完直接跳过六和八步骤即可)

#第一种,在mysql安装路径下的bin路径下,需要修改的内容-p后面的是数据库密码需要修改,mysql.sock 根据命令{find / -name mysql.sock}

./mysqldump -uroot -p'My9Sql6?a' -S /tmp/mysql.sock --all-databases > /home/backmysql/mysql_bak.$(date +%F).sql

#第二种,数据量太大磁盘不足再就是备份时间过长,建议用下面的命令,被分成.gz格式,可以压缩成源文件的1/3大小,修改的部分和第一种相同

./mysqldump -uroot -p'My9Sql6?a' -S /tmp/mysql.sock --all-databases | gzip > /home/backmysql/mysql_bak.$(date +%F).sql.gz

七、从库操作

#前提:从库也按照正常数据库安装搭建好

#修改my.cnf(使用 《mysql5.7.40数据库部署安装》进行安装的不需要再次修改)

#[mysqld]下面增加以下内容,值建议取本机ip最后的网段数字

server-id=223

#重启数据库

service mysql restart

 

八、备份数据库导入

#将在主库备份导出的数据放到从库服务器上,记录存放路径

#进入从库的bin路径执行以下命令(第二种备份方式的记得提前解压)

./mysql -uroot -p'My9Sql6?a' -S /tmp/mysql.sock < /home/backmysql/mysql_bak.2023-3-26.sql

 

九、登录从库进行主从配置

#从库bin下执行登录

./mysql -u root -p

#修改以下内容中项目实际的信息,在命令行依次输入一下内容,粘贴一行回车,粘贴一行回车操作

#注,此行没有';',所以会进入内层命令,方便执行多行,修改信息后的命令依次粘贴回车就好

change master to

#主库ip
master_host='172.0.0.0',

#主库端口
master_port=3306,

#主库设置的同步账号
master_user='slave',

#主库设置的同步账号密码
master_password='slave_pass',

#主库二进制日志文件
master_log_file='mysql-bin.000002',

#二进制文件位置
master_log_pos=524516;

#开启主从同步

start slave;

#在从库验证是否配置成功,执行

show slave status \G

#上述命令打印的控制台查看,以下两行内容是Yes即成功

=========================================

Slave_IO_Running:Yes
Slave_SQL_Running:Yes

=========================================

十、也可以到主库再去查看一下主从状态

#登录(略)

#查看信息

show master status \G

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库主从同步是一种常用的数据复制方式,可以确保数据在多个服务器之间的一致性。以下是设置MySQL数据库主从同步的步骤: 1. 配置主服务器: - 在主服务器的配置文件中(一般是my.cnf),启用二进制日志功能(log-bin)并设置一个唯一的标识符。 - 配置一个用于同步的账户,并给予REPLICATION SLAVE权限。 - 重启主服务器,使配置生效。 2. 备份主服务器数据: - 使用mysqldump或其他备份工具,将主服务器上的数据备份到一个文件中。 3. 配置从服务器: - 在从服务器的配置文件中,配置一个唯一的服务器ID。 - 配置一个用于同步的账户,并给予REPLICATION CLIENT权限。 - 重启从服务器,使配置生效。 4. 导入主服务器数据到从服务器: - 将备份文件导入到从服务器上,可以使用mysql命令行或其他导入工具。 5. 启动主从同步: - 在从服务器上执行CHANGE MASTER TO命令,指定主服务器的地址、账户信息和二进制日志文件名。 - 使用START SLAVE命令启动从服务器的同步进程。 6. 检查同步状态: - 使用SHOW SLAVE STATUS命令查看从服务器的同步状态,确保同步正常运行。 以上是基本的主从同步设置步骤,根据具体情况可能会有一些额外的配置和调优。请注意,在配置主从同步之前,确保网络连接正常,主从服务器之间的时间差不大,并且主从服务器的硬件配置相当。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值