Mysql群集服务器之主从安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql群集服务器之主从安装相关的知识,希望对你有一定的参考价值。
mysql群集服务器之主从安装Master:10.206.35.12
Slave:10.206.35.8
Centos7安装Mysql5.7
1-由于CentOS 的yum源中没有mysql,需到mysql的官网下载yum repo配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2-进行repo的安装
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
3-yum命令即可完成安装
yum install mysql-server -y
4-启动Mysql
systemctl start mysqld
5-获取安装时的临时密码: vlfhh)Na)5iU
grep ‘temporary password‘ /var/log/mysqld.log
倘若没有:
(1)删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
2)再启动mysql
6-登录
mysql -u root -p
7-修改密码
set password=password("silence2@T");
8-Master配置
vi /etc/my.cnf添加以下内容
server-id=1#设置主服务器的ID,不能重复
innodb_flush_log_at_trx_commit=2#
log-bin=mysql-bin-1#开启binlog日志同步功能
binlog-do-db=test#同步test库
重启MySQL
systemctl restart mysqld
systemctl status mysqld
登录MYSQL
mysql -u root -p
grant replication slave on . to ‘mark‘@‘10.206.35.%‘ identified by ‘silence2@T‘;
grant replication slave on . to ‘mark‘@‘192.168.0.%‘ identified by ‘silence2@T‘;
授权给从数据库服务器用户名mark,密码123456,192.168.56.%使用通配符表示该网段下所有服务器均可使用
查看主数据库状态
show master status;
9-Slave数据库配置
vi /etc/my.cnf
server-id=2
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-2
重启MySQL服务
systemctl restart mysqld
登录MySQL数据库
mysql -u root -p
语句中的master_log_file、master_log_pos与上图一致。
change master to master_host=‘10.206.35.12‘, master_user=‘mark‘ ,master_password=‘silence2@T‘, master_log_file=‘mysql-bin-5.000001‘ ,master_log_pos=448;
开启从库 (stop slave:关闭从库)
start slave;
Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功
show slave statusG
在MASTER上创建数据库,测试同步
create database mysql_db_test charset=utf8;
show databases;
use mysql_db_tesb
create table t0 (id varchar(20),name varchar(20));
show tables;
insert into t0 values ("001","wugk1");
insert into t0 values ("002","wugk2");
select * from t0;
MySQL主从同步排错思路
1-忽略错误,继续同步;停止Master写入
flush tables with read lock;
Slave端停止I/O及SQL线程,跳过同步错误的SQL一次,启动同步
stop slave;
set global sql_slave_skip_counter = 1;
start slave;
2-重新做主从同步,使用数据据完全同步
Master将数据库设置为全局读锁,不许写入
flush tables with read lock;
Master端基于mysqldump、xtraackup工具对数据进行完整备份,也可以用shell
脚本或python实理定时备份,备份成功后,将完整的数据导入至从库,重新配置主从
关系,当slave端的I/0线程SQL线程均为YES之后,将MASTER读写解开:
unlock tables;
以上是关于Mysql群集服务器之主从安装的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集