Mysql_运维一主一从案例

一、环境要求

(一)关闭防火墙和selinux

[root@localhost ~]#  systemctl stop firewalld.service
[root@localhost ~]#  setenforce 0

(二)配置域名解析

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# init 6
[root@localhost ~]# hostnamectl set-hostname slave
[root@localhost ~]# init 6
[root@master ~]# tail -2 /etc/hosts
192.168.163.128 slave
192.168.163.135 master

二、主Master                                                                                                                 

(一)准备数据

[root@master ~]# mysql -uroot -p'Daidai@123'

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)

mysql> create database yyl;
Query OK, 1 row affected (0.02 sec)

mysql> use yyl;
Database changed

mysql> create table t1(id int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into t1 values (1),(2);
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from t1;
+------+
| id   |
+------+
|    1 |
|    2 |
+------+
2 rows in set (0.00 sec)

mysql> \q

(二)开启二进制文件

[root@master ~]# vim /etc/my.cnf

[mysqld]
log_bin
server-id=1

[root@master ~]# systemctl restart mysqld

(三)创建复制用户 

[root@master ~]# mysql -uroot -p'Daidai@123'

mysql> grant replication slave,replication client on *.*to 'rep'@'%' identified by 'Daidai@123';
Query OK, 0 rows affected, 1 warning (0.00 sec)

(四)备份Master数据库的数据

[root@master ~]# mysqldump -p'Daidai@123' --all-databases --single-transaction --master-data=2 --flush-logs > `date +%F`-mysql-all.sql

mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@master ~]# ls 
2022-12-11-mysql-all.sql    

[root@master ~]# scp -r 2022-12-11-mysql-all.sql slave:/tmp

(五)准备数据(验证主从是否同步)

[root@master ~]# mysql -uroot -p'Daidai@123'

mysql> insert into yyl.t1 values (521);
Query OK, 1 row affected (0.03 sec)

mysql> select * from yyl.t1;
+------+
| id   |
+------+
|    1 |
|    2 |
|  521 |
+------+
3 rows in set (0.00 sec)

mysql> \q

三、从Slave

(一)测试rep用户是否可用

[root@slave ~]# mysql -urep -pDaidai@123 -h master
mysql> \q
Bye

(二)启动服务器序号

[root@slave ~]# vim /etc/my.cnf
[mysqld]
server_id=2

(三)手动同步数据

mysql>  set sql_log_bin=0;
mysql>  source /tmp/2022-12-11-mysql-all.sql

(四)设置主服务器

mysql> change master to
master_host='master',
master_user='rep',
master_password='Daidai@123',
master_log_file='localhost-bin.000002',
master_log_pos=154;

(五)启动从服务器

mysql> start slave;

(六)查看启动状

show slave status\G;

...
Relay_Master_Log_File: localhost-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
...

这样,我们就完成了对Mysql一主一丛的配置了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值