时间:2021-07-01 10:21:17 帮助过:2人阅读
log-bin = mysql-bin #日志文件 必填项重启数据库 然后在主服务器库中新建一个备份账号;
server-id = 1 # 1-32 必填项
replicate-do-db = test #指向数据库 必填项
replicate-ignore-db = mysql #指定不要同步的数据库,如果指定了binlog(replicate)-do-db就不用再指定该项
grant replication slave on *.* to slave@192.168.0.2 identified by ‘slave‘ ; #新建一个备份账号
flush privileges; #更新权限
注释:指向到192.168.0.2的从服务器 给从服务器一个备份账号;账号是salve 密码:slave identity by 代表着密码 账户@从服务器地址 identity by 密码FLUSH TABLES WITH READ LOCK;:先锁定表此备份方式需要在CMD中退出mysql的连接 在 mysql/bin中执行(因为bin文件中有个 mysqldump.exe的文件) mysqldump --master-data -uroot -p test(需要备份的数据库名) > test.sql 备份成功后 查看主服务器的日志文件信息 show master status \G 以上所有步骤都正确的话,将进行 解表 :unlock tables; 从服务器 配置从服务器的my.ini 在最下面添加
server-id=2 #指定唯一的ID,2至32,必须的,并且不能跟主数据库一样
replicate-do-db=rep_test #指定要同步的数据库,必须的
lower_case_table_names=1 #必须要,否则从数据库只能更新出表 而不能同步表数据
配置登录主数据库的账号和密码等信息;有两种方法: ①:在my.ini中进行配置#主服务器的IP地址#日志文件 master_log_file = ‘mysql-bin.000008‘, #
master-host=10.0.0.100
#从服务器连接主服务器的帐号
master-user=slave
#从服务器连接主服务器的帐号密码
master-password=‘slave‘
#主服务器端口
master-port=3306
#同步时间间隔为60秒
master-connect-retry=10
grant replication slave on *.* to slave@192.168.0.2 identified by ‘slave‘ ; #新建一个备份账号
flush privileges; #更新权限
FLUSH TABLES WITH READ LOCK;:先锁定表show master status \G :查看主服务器日志信息 unlock tables;:解表 从服务器常用命令: change master to master_host=‘192.168.0.1‘,master_user=‘slave‘,master_password=‘slave‘, master_log_file=‘mysql- bin.000001‘,master_log_pos=120; 设置主账户的信息;详解: 设置主服务器的IP(192.168.0.1) 设置登录账号(slave 是主服务给此从服务器的账号) 设置登录密码(slave是主服 务器给此从服务器的密码) 备份日志文件名(mysql-bin.000001是mysql默认的格式 主服务器查看状态的File:此参数) master_log_pos (应该是主服务器 show master status \G 查看状态的Position:(int型)(XXX) start slave;(开始备份从服务器 slave 是固定参数) show slave status;:查看配置 stop slave;停止备份 如果想在Slave上忽略一个库的复制,最好不要用binlog_ignore_db这个参数, 尽量使用
mysqldump --master-data -uroot -p test(需要备份的数据库名) > test.sql
binlog-do-db =test #只复制某个库
replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql #不复制某个库
binlog_ignore-db=mysql #不复制某个库
MySQL的主从
标签: