数据库
首页 > 数据库> > mysql5.7.26 主存复制

mysql5.7.26 主存复制

作者:互联网

vi /etc/my.cnf

主机配置 /etc/my.cnf

[mysqld]
port=3306
basedir=/approot/local/mysql
datadir=/approot/local/mysql/data
socket=/approot/local/mysql/tmp/mysql.sock
user=mysql
tmpdir=/approot/local/mysql/tmp


character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1
#bin-logs 过期时间
expire_logs_days=180

#------------- 主从复制配置 start ----------------
log-bin = /approot/local/mysql/logs/mysql-bin   # 开启二进制日志,保存到.../mysql-bin中
server-id = 11                           # 设置主服务器的ID(不能重复,建议使用ip的最后>一段)

server-id = 11                           # 设置主服务器的ID(不能重复,建议使用ip的最后>一段)
innodb_flush_log_at_trx_commit=1           # 每次commit 日志缓存中的数据刷到磁盘中。通>常设置为 1,意味着在事务提交前日志已被写入磁盘, 事务可以运行更长以及服务崩溃后的修复能
力
sync_binlog=1                              # 开启binlog同步功能,当每进行n次事务提交之>后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘
# binlog-ignore-db 表示同步的时候忽略的数据库,忽略几个就写几个,如果使用binlog-do-db指
定要同步的数据库,这些可以不设置
#binlog-ignore-db=information_schema

#------------- 主从复制配置 end ---------------


[mysqld_safe]
log-error=/approot/local/mysql/data/error.log
pid-file=/approot/local/mysql/data/mysql.pid

[mysql]
default-character-set=utf8mb4

[client]
socket=/approot/local/mysql/tmp/mysql.sock
default-character-set=utf8mb4

#------------- 主从复制配置 start ----------------
log-bin = /usr/local/mysql/log/mysql-bin   # 开启二进制日志,保存到.../mysql-bin中
server-id = 195                            # 设置主服务器的ID(不能重复,建议使用ip的最后一段)     
innodb_flush_log_at_trx_commit=1           # 每次commit 日志缓存中的数据刷到磁盘中。通常设置为 1,意味着在事务提交前日志已被写入磁盘, 事务可以运行更长以及服务崩溃后的修复能力
sync_binlog=1                              # 开启binlog同步功能,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘
# binlog-ignore-db 表示同步的时候忽略的数据库,忽略几个就写几个,如果使用binlog-do-db指定要同步的数据库,这些可以不设置
#binlog-ignore-db=information_schema 
#binlog-ignore-db=mysql
#binlog-ignore-db=performance_schema
#binlog-ignore-db=sys
binlog-do-db = mytest                      # 指定要同步的数据库mytest
#binlog-do-db = mytest2                    # 同步mytest2
#------------- 主从复制配置 end ---------------

[root@vm]# mysql -u root -p
mysql> use mysql;
msyql> show global variables like '%log_bin%'; 

mysql> show master logs;

设置存库的访问权限

// 创建用户:root  密码:mysql,可以创建应用用户的根据自己的情况
grant FILE on *.* to 'root'@'127.1.1.11' identified by 'mysql';
grant replication slave on *.* to 'root'@'127.1.1.11' identified by 'mysql';
flush privileges;

//
show master status\G; 

存库的配置 /etc/my.cnf

[mysqld]
port=3306
basedir=/approot/local/mysql
datadir=/approot/local/mysql/data
socket=/approot/local/mysql/tmp/mysql.sock
user=mysql
tmpdir=/approot/local/mysql/tmp


character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1

log-bin = /approot/local/mysql/logs/mysql-bin
server-id = 27              # 一定不要和主节点的id重复

log-slave-updates = 1 #将从服务器从主服务器收到的更新记入到从服务器自己的二进制>日志文件中。
slave-skip-errors=all
slave-net-timeout=60

expire_logs_days=180


[mysqld_safe]
log-error=/approot/local/mysql/data/error.log
pid-file=/approot/local/mysql/data/mysql.pid

[mysql]
default-character-set=utf8mb4

[client]
socket=/approot/local/mysql/tmp/mysql.sock
default-character-set=utf8mb4


 

mysql> stop slave;   //现暂停同步
mysql> change master to master_host='127.0.1.11',master_user='root',master_password='mysql',master_log_file='mysql-bin.000004', master_log_pos=4564;
mysql> start slave;	  //开启同步


 show slave status\G;

标签:binlog,26,log,mysql5.7,主存,db,mysql,local,approot
来源: https://blog.csdn.net/sinat_16800363/article/details/122731571