配置mysql的主主复制和主从复制

本文详细介绍了在CentOS系统上安装MySQL 5.6.36版本的过程,包括依赖安装、用户创建、编译配置等步骤。进一步阐述了如何配置NTP服务以确保时间同步,以及如何设置MySQL的主主复制和主从复制,包括修改配置文件、授权复制账户、启动复制等关键操作。

配置mysql的主主复制和主从复制 安装的版本5.6.36

一、 安装mysql数据库
1、 安装mysql5.6.36
1)
删除系统自带yum源,挂载光盘

[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos02 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@centos03 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos03 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@centos04 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos04 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
2)
安装mysql依赖程序

[root@centos01 ~]# yum -y install ncurses-devel cmake
[root@centos02 ~]# yum -y install ncurses-devel cmake
[root@centos03 ~]# yum -y install ncurses-devel cmake
[root@centos04 ~]# yum -y install ncurses-devel cmake
3)
rz上传mysql软件包

[root@centos01 ~]# rz
z waiting to receive.**B0100000023be50
[root@centos02 ~]# rz
z waiting to receive.**B0100000023be50
[root@centos03 ~]# rz
z waiting to receive.**B0100000023be50
[root@centos04 ~]# rz
z waiting to receive.**B0100000023be50
在这里插入图片描述
4)
创建管理mysql数据库用户

[root@centos01 ~]# groupadd mysql
[root@centos01 ~]# useradd -M -s /sbin/nologin -g mysql mysql

[root@centos02 ~]# groupadd mysql
[root@centos02 ~]# useradd -M -s /sbin/nologin -g mysql mysql

[root@centos03 ~]# groupadd mysql
[root@centos03 ~]# useradd -M -s /sbin/nologin -g mysql mysql

[root@centos04 ~]# groupadd mysql
[root@centos04 ~]# useradd -M -s /sbin/nologin -g mysql mysql
5)
解压mysql程序

[root@centos01 ~]# tar zxvf mysql-5.6.36.tar.gz -C /usr/src/
[root@centos02 ~]# tar zxvf mysql-5.6.36.tar.gz -C /usr/src/
[root@centos03 ~]# tar zxvf mysql-5.6.36.tar.gz -C /usr/src/
[root@centos04 ~]# tar zxvf mysql-5.6.36.tar.gz -C /usr/src/
6)
配置mysql程序

[root@centos01 ~]# cd /usr/src/mysql-5.6.36/
[root@centos01 mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

[root@centos02 ~]# cd /usr/src/mysql-5.6.36/
[root@centos02 mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

[root@centos03 ~]# cd /usr/src/mysql-5.6.36/
[root@centos03 mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

[root@centos04 ~]# cd /usr/src/mysql-5.6.36/
[root@centos04 mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

7)
编译安装mysql

[root@centos01 mysql-5.6.36]# make && make install
[root@centos02 mysql-5.6.36]# make && make install
[root@centos03 mysql-5.6.36]# make && make install
[root@centos04 mysql-5.6.36]# make && make install
2、 优化mysql执行命令和配置服务
1)
生成服务配置文件

[root@centos01 mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@centos02 mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@centos03 mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@centos04 mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
2)
生成服务控制文件

[root@centos01 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos02 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos03 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos04 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
3)
设置服务执行权限

[root@centos01 mysql-5.6.36]# chmod +x /etc/init.d/mysqld
[root@centos02 mysql-5.6.36]# chmod +x /etc/init.d/mysqld
[root@centos03 mysql-5.6.36]# chmod +x /etc/init.d/mysqld
[root@centos04 mysql-5.6.36]# chmod +x /etc/init.d/mysqld
4)
修改mysql安装目录的所有者

[root@centos01 mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/
[root@centos02 mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/
[root@centos03 mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/
[root@centos04 mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql/
5)
优化程序命令

[root@centos01 ~]# vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos01 ~]# source /etc/profile

[root@centos02 ~]# vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos02 ~]# source /etc/profile

[root@centos03 ~]# vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos03 ~]# source /etc/profile

[root@centos04 ~]# vim /etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos04 ~]# source /etc/profile
6)
添加系统服务设置开机自动启动

[root@centos01 ~]# chkconfig --add mysqld
[root@centos01 ~]# chkconfig --level 35 mysqld on

[root@centos02 ~]# chkconfig --add mysqld
[root@centos02 ~]# chkconfig --level 35 mysqld on

[root@centos03 ~]# chkconfig --add mysqld
[root@centos03 ~]# chkconfig --level 35 mysqld on

[root@centos04 ~]# chkconfig --add mysqld
[root@centos04 ~]# chkconfig --level 35 mysqld on
7)
初始化mysql

[root@centos01 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
[root@centos02 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
[root@centos03 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
[root@centos04 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
8)
启动mysql并查看

[root@centos01 ~]# systemctl start mysql
[root@centos01 ~]# netstat -anptu | grep 3306
在这里插入图片描述
[root@centos02 ~]# systemctl start mysql
[root@centos02 ~]# netstat -anptu | grep 3306
[root@centos03 ~]# systemctl start mysql
[root@centos03 ~]# netstat -anptu | grep 3306
[root@centos04 ~]# systemctl start mysql
[root@centos04 ~]# netstat -anptu | grep 3306
9)
设置管理mysql密码

[root@centos01 ~]# mysqladmin -uroot password
New password:
Confirm new password:

[root@centos02 ~]# mysqladmin -uroot password
New password:
Confirm new password:

[root@centos03 ~]# mysqladmin -uroot password
New password:
Confirm new password:

[root@centos04 ~]# mysqladmin -uroot password
New password:
Confirm new password:
二、 配置NTP
1)
配置NTP主配置文件

[root@centos01 ~]# vim /etc/ntp.conf
18 restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
19 server 127.127.1.0
20 fudeg 127.127.1.0 stratum 8
2)
重新启动ntp

[root@centos01 ~]# systemctl restart ntpd
3)
其他mysql同步时间

[root@centos02 ~]# ntpdate 192.168.100.10
25 Mar 16:43:04 ntpdate[55987]: step time server 192.168.100.10 offset -28800.288819 sec

[root@centos03 ~]# ntpdate 192.168.100.10
25 Mar 16:43:18 ntpdate[55978]: step time server 192.168.100.10 offset -28799.788013 sec

[root@centos04 ~]# ntpdate 192.168.100.10
25 Mar 16:43:21 ntpdate[17263]: step time server 192.168.100.10 offset -28800.085675 sec
三、 配置mysql主主复制和主从复制
1、修改mysql主配置文件
1)
修改主配置文件

[root@centos01 ~]# vim /etc/my.cnf
log-bin=mysql-bin
log-slave-updates=true
server-id=10
relay-log=relay-log-bin
relay-log-index=relay-log-bin.index
[root@centos01 ~]# systemctl restart mysqld

[root@centos01 ~]# vim /etc/my.cnf
log-bin=mysql-bin
log-slave-updates=true
server-id=20
relay-log=relay-log-bin
relay-log-index=relay-log-bin.index
[root@centos02 ~]# systemctl restart mysqld
2、配置从mysql主配置文件
1)
修改主配置文件

[root@centos03 ~]# vim /etc/my.cnf
log-bin=mysql-bin
server-id=30
relay-log=relay-log-bin
relay-log-index=relay-log-bin.index
[root@centos03 ~]# systemctl restart mysqld

[root@centos04 ~]# vim /etc/my.cnf
log-bin=mysql-bin
server-id=40
relay-log=relay-log-bin
relay-log-index=relay-log-bin.index
[root@centos04 ~]# systemctl restart mysqld
3、 配置主主复制
1)
授权数据复制账户slave密码pwd@123

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> grant replication slave on . to ‘slave’@‘192.168.100.%’ identified by ‘pwd@123’;
Query OK, 0 rows affected (0.00 sec)

[root@centos02]# mysql -uroot -ppwd@123
mysql> grant replication slave on . to ‘slave’@‘192.168.100.%’ identified by ‘pwd@123’;
Query OK, 0 rows affected (0.00 sec)
2)
配置主主复制

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> show master status;
在这里插入图片描述
[root@centos02]# mysql -uroot -ppwd@123
mysql> change master to master_host=‘192.168.100.10’,master_user=‘slave’,masteter_log_pos=542;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
3)
启动slave并查看

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G;
在这里插入图片描述
4)
配置第二台主

[root@centos02]# mysql -uroot -ppwd@123
mysql> show master status;
在这里插入图片描述
[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> change master to master_host=‘192.168.100.20’,master_user=‘slave’,master_password=‘pwd@123’,master_log_file=‘mysql-bin.000001’,master_log_pos=2652;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
5)
启动slave并查看

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G;
在这里插入图片描述
6)测试主主复制
[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> create database benet;
Query OK, 1 row affected (0.00 sec)

[root@centos02~]# mysql -uroot -ppwd@123
mysql> show databases;
在这里插入图片描述
[root@centos02~]# mysql -uroot -ppwd@123
mysql> create database qq;
Query OK, 1 row affected (0.00 sec)

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> show databases;
在这里插入图片描述
4、 配置主从复制
1)
配置主从复制

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> show master status;
在这里插入图片描述
[root@centos03 ~]# mysql -uroot -ppwd@123
mysql> change master to master_host=‘192.168.100.10’,master_user=‘slave’,master_password=‘pwd@123’,master_log_file=‘mysql-bin.000001’,master_log_pos=1782;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
2)
启动slave并查看

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G;
在这里插入图片描述
3)
配置第二台从

[root@centos01 ~]# mysql -uroot -ppwd@123
mysql> show master status;
在这里插入图片描述
[root@centos04 ~]# mysql -uroot -ppwd@123
mysql> change master to master_host=‘192.168.100.10’,master_user=‘slave’,master_password=‘pwd@123’,master_log_file=‘mysql-bin.000001’,master_log_pos=1782;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
4)
启动slave并查看

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G;
在这里插入图片描述
4)
测试主从复制
第一台主创建qaq数据库

mysql> create database qaq;
Query OK, 1 row affected (0.00 sec)
其他主和从查看
mysql> show databases;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二台主创建weq数据库
mysql> create database weq;
Query OK, 1 row affected (0.00 sec)
其他主和从查看
mysql> show databases;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值