mysql 小结

Mariadb proxy

maxscale01.test.com
maxscale02.test.com

Mariadb Galera Cluster

db01.test.com
db02.test.com
db03.test.com

Mariadb Master,slave Replicate

一 主库配置

1.1 主库每个节点添加配置参数(MariaDB Galera Cluster)

[galera]
#开启binlog并指定binglog日志名称
log_bin=binlog
#开启主从复制必须的参数,server id号要在主从中唯一,必须要指定
server_id=111
#开启galera集群之间互相复制数据操作写入binlog
log_slave_updates=1

1.2 重启数据库并确认主库binlog开启状态

systemctl  restart mysql
mysql -e "show master status;"

1.3 创建主从复制帐号

grant replication slave on *.* to 'rsyncdb'@'10.%.%.%' identified by 'password';
flush privileges;

1.4 主库cluster任意一节点完整备份数据

mysqldump -uroot -p --single-transaction --master-data=2  -R --all-databases > alldata.sql

二 从库配置

2.1 安装MariaDB-Galera-server
yum install MariaDB-Galera-server-10.0.21-1.el7.centos.x86_64

2.2 从库添加配置

[galera]
#以下两个参数主要对于导入较大数据库,否则会报错
max_allowed_packet=64M
innodb_log_file_size=256M
#开启主从复制必须的参数,server id号要在主从中唯一,必须要指定
server_id=222
#从库设置对于普通帐号只读,但对于super和复制线程sql是可写
read_only=1

2.3 重启数据库

systemctl  restart mysql

2.4 从库导入从主库备份的数据

mysql < alldata.sql

2.5 从库指定复制相关的参数和复制的起始点,开启slave复制

#复制的binlog文件名和pos点可从备份数据alldata.sql文件中前30行查看到,当然也可以直接使用gtid_slave_pos来指定复制的启始位置
mysql -e "change master to master_host='db03.bj.base-fx.com', master_user='rsyncdb', master_password='password',MASTER_LOG_FILE='binlog.000021',MASTER_LOG_POS=126464865;"
mysql -e "start slave;"

2.6 从库确认复制状态

#要确认IO和SQL线程都是yes的状态
mysql -e "show slave status\G;"

2.7 MariaDB10.0.2默认binlog日志格式使用的是row并开启GTID模式

#根据指定pos点来指定复制可平滑转成GTID的模式进行复制(可选,建议使用GTID)
mysql -e "change master to master_use_gtid=slave_pos;"
#可以看到GTID已经打开
mysql -e "show slave status\G;"
上一篇:0003--Weekly Meeting on 10th April and 17th April, 2015


下一篇:Java常用类之【八种基本数据类型】