简单搭建一个MySQL主从配置

MySQL主从(a/b)设置:

安装:
主机a: master
主机b: slave

请注意,虚拟机环境下不要克隆主机,应当直接安装两台,否则造成UUID相同不能实现主从配置

通用配置:
1.相同网段的IP
master='1.1.1.102'
slave='1.1.1.103'
2.hosts主机名(master,slave)
3.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
4.时间同步
5.删除旧的数据库:rpm -qa |grep mariadb |xargs yum remove -y && rm -rf /etc/my.cnf* 
6.共享服务器: 配置yum源(ftp://1.1.1.101)
下载地址: https://dev.mysql.com/downloads/cluster/
yum install -y vsftpd
tar -xf mysql-cluster-community-7.5.5-1.el7.x86_64.rpm-bundle.tar -C /var/ftp/pub
createrepo /var/ftp/pub
cat > /etc/yum.repos.d/mysqlcluster.repo << EOT
[mysqlcluster]
name=myclu
baseurl=ftp://1.1.1.101/pub/mysql
enabled=1
gpgcheck=0
EOT
使用scp或rsync将/etc/yum.repos.d/mysqlcluster.repo同步到主机'a/b'上
7.安装(master/slave)
yum clean all && yum makecache
yum install -y createrepo
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum clean all && yum makecache
yum install -y mysql-cluster-community-server
8.配置密码:
systemctl start mysqld
grep password /var/log/mysqld.log
mysql -uroot -p
set global validate_password_policy=0;
set global validate_password_length=6;
set password=password('000000');
 exit;
systemctl stop mysqld
9.设置主从关系:
主:
vim /etc/my.cnf
#开启二进制日志
log-bin=mysql-bin
#设置server-id
server-id=1

systemctl start mysqld
mysql -uroot -p000000
set global validate_password_policy=0;
set global validate_password_length=6;
grant  replication  slave  on *.*  to 'repl'@'1.1.1.102'  identified  by '000000';
flush privileges; 
SHOW MASTER STATUS;
+-------------------------+------------+---------------------+-------------------------+---------------------------+
| File                           | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+------------+--------------------+--------------------------+---------------------------+
| mysql-bin.000007 |         154 |                           |                                   |                                     |
+-------------------------+------------+--------------------+--------------------------+---------------------------+

从:
vim /etc/my.cnf
#设置server-id
server_id = 2
read_only = 1

systemctl start mysqld
mysql -uroot -p000000
stop slave;
CHANGE MASTER TO
MASTER_HOST='1.1.1.101',
MASTER_USER='repl',
MASTER_PASSWORD='000000',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1040;
start slave;

10.手工同步:
主:
    导出主服务当前所有的数据:(如果是全新的架构还没有应用数据则不需要该操作 )
    mysqldump -uroot -p --all-databases --master-data > alldata.dump
    或者:
    mysqldump -uroot -p --single-transaction --all-databases --master-data > alldata.dump
    #如果已锁表, 则不需要--single-transaction
    scp alldata.dump root@1.1.1.103:/root/
从:
    以--skip-slave-start重新启动:
    mysqld_safe --user=mysql --skip-slave-start &
    mysql -uroot -p < alldata.dump
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值