vlambda博客
学习文章列表

Mysql主从集群搭建部署

1. Mysql安装

Mysql在Linux系统上编译安装详见上一章节:,本章节不再详细介绍。

2. 主库配置

Mysql单机部署安装成功后,在选定mysql数据为主库【master】的数据库修改my.cnf文件内容,修改完成后重启数据库,具体添加如下:
# vi /data/mysql13307/conf/my.cnf[mysqld]#设置端口port=13306# 设置mysql的安装目录basedir=/data/mysql13307# 设置mysql数据库的数据的存放目录datadir=/data/mysql13307/datasql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES# 允许最大连接数max_connections=800# 引擎独立表空间innodb_file_per_table=1# 表名区分大小写lower_case_table_names=1# 服务端使用的字符集默认为8比特编码的latin1字符集character_set_server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
#---------------------Mysql主库新增以下配置-------------------------------#唯一标识自定义server-id=192168137#开启binlog 日志log_bin=/data/mysql13307/logs/mysql-bin.log#日志的缓存时间expire_logs_days=10#日志的最大大小max_binlog_size=512M#同步的数据库名称binlog_do_db=daffodil#忽略同步的数据库binlog_ignore_db=mysql#---------------------Mysql主库新增以上配置-------------------------------[mysqld_safe]log-error=/data/mysql13307/data/mysql.errpid-file=/data/mysql13307/data/mysql.pid
# :wq!

3. 从库配置

Mysql单机部署安装成功后,在选定mysql数据为从库【slave】的数据库修改my.cnf文件内容,修改完成后重启数据库,主库和从库配置主要区别是log_bin配置项注释掉即可,具体添加如下:

# vi /data/mysql13307/conf/my.cnf[mysqld]#设置端口port=13306# 设置mysql的安装目录basedir=/data/mysql13307# 设置mysql数据库的数据的存放目录datadir=/data/mysql13307/datasql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES# 允许最大连接数max_connections=800# 引擎独立表空间innodb_file_per_table=1# 表名区分大小写lower_case_table_names=1# 服务端使用的字符集默认为8比特编码的latin1字符集character_set_server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
#---------------------Mysql从库新增以下配置-------------------------------#唯一标识自定义server-id=192168138#开启binlog 日志#log_bin=/data/mysql13307/logs/mysql-bin.log#日志的缓存时间expire_logs_days=10#日志的最大大小max_binlog_size=512M#同步的数据库名称binlog_do_db=daffodil#忽略同步的数据库binlog_ignore_db=mysql#---------------------Mysql从库新增以上配置-------------------------------
[mysqld_safe]log-error=/data/mysql13307/data/mysql.errpid-file=/data/mysql13307/data/mysql.pid
# :wq!

4. 创建同步用户

切换登录到主库数据库,为示例数据库daffodil添加一个同步用户:

[root@localhost /]# mysql -u root -pEnter password: mysql> GRANT REPLICATION SLAVE ON *.* to 'daffodil'@'192.168.137.130' identified by 'yourpass';mysql> flush privileges; #刷新权限mysql> show master status; #记录file名称和position位置值

5. 从库同步配置

切换登录到从库数据库,依次为数据库添加主库的log_bin的位置,示例position=54,file=mysql-bin.000001,执行以下命令:

[root@localhost /]# mysql -u root -pEnter password: mysql> change master tomysql> master_host='192.168.137.130',mysql> master_user='daffodil',mysql> master_password='yourpass',mysql> master_port=13307,mysql> master_log_file='mysql-bin.000001',mysql> master_log_pos=54;#开始同步mysql> start slave;#查看同步状态mysql> show slave status;

6. 主从同步验证

接下来就在主从库都创建数据库daffodil,之后在主库测试表并添加测试数据,完成后登录到从库即可查询主库创建的表和测试数据,至此Mysql主从集群搭建完毕。


一个使用Java语言编程的代码简洁
通俗易读的微服务框架的基础项目脚手架