主从模式配置
主节点128配置
1、主节点128构建用于同步的用户
#设置用于同步的用户,比如A服务器为主,B服务器为从。则此用户需要在A(主)服务器上构建
CREATE USER repl_user IDENTIFIED BY '123456';
#给用户设置权限
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' identified by '123456';
FLUSH PRIVILEGES;
#查看用户权限
show grants for 'repl_user'@'%';
从节点129配置
以下操作在从节点129中进行
1、从节点129配置文件如下
[mysqld]
socket=/usr/local/mysql/tmp/mysql.sock
datadir=/usr/local/mysql/data
port=3306
#skip-grant-tables #不授权模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=0
character_set_server=utf8
default-storage-engine=INNODB
pid-file=/usr/local/mysql/mysql.pid
log-error=/usr/local/mysql/tmp/error.log
user=mysql
##############################主从同步配置开始#################
#设置server-id,集群中不可重复
server-id=2
max_allowed_packet=100M
log-bin = mysql-bin #开启mysql的binlog日志功能
sync_binlog = 1 #控制数据库的binlog刷到磁盘上去 , 0 不控制,性能最好,1每次事物提交都会刷到日志文件中,性能最差,最安全
binlog_format = mixed #binlog日志格式,mysql默认采用statement,建议使用mixed
expire_logs_days = 7 #binlog过期清理时间
max_binlog_size = 100m #binlog每个日志文件大小
binlog_cache_size = 4m #binlog缓存大小
max_binlog_cache_size= 512m #最大binlog缓存大
binlog-ignore-db=mysql #不生成日志文件的数据库,多个忽略数据库可以用逗号拼接,或者 复制这句话,写多行
max_allowed_packet=100M
relay-log = mysql-relay-bin
binlog-ignore-db=mysql,test,information_schema ##不同步mysql库下的所有表
##binlog-do-db = game ##只同步那个库
##############################主从同步配置结束#################
[mysqld_safe]
[client]
socket=/usr/local/mysql/tmp/mysql.sock
配置完成后,启动从节点129服务;
2、查看主节点128的日志名称和同步起始位置
##查看master状态,记录二进制文件名File和位置Position,后面配从库要用
show master status;
3、从节点129同步主节点128信息
mysql> CHANGE MASTER TO
MASTER_HOST = '192.168.253.128',
MASTER_USER = 'repl_user',
MASTER_PASSWORD = '123456',
MASTER_PORT = 3306,
MASTER_LOG_FILE='mysql-bin.000010',
MASTER_LOG_POS=893,
MASTER_RETRY_COUNT = 60,
MASTER_HEARTBEAT_PERIOD = 10000;
# MASTER_LOG_FILE='mysql-bin.000005',#与主库File 保持一致
# MASTER_LOG_POS=120 , #与主库Position 保持一致
启动同步操作
#启动同步
start slave;
#停止同步
stop slave;
查看同步状态
#查看同步状态
show slave status\G
至此,主从模式搭建完毕。