前言
数据量已经到达MySQL的语句执行的时候,就需要考虑使用分库分表或者主从读写分离,那这里就讲一下MySQL的主从搭建,MySQL单机搭建,就参考一下下面的链接:
配置
1、实现准备
两台单机MySQL服务器,我这里准备俩虚拟机,ip分别是192.168.80.200(主)、192.168.80.201(从)
2、确保MySQL单机访问和链接没问题
我这里是通过命令访问客户端和使用数据库连接工具都没问题
3、配置master主数据库
①修改/etc/my.cnf配置
[root@localhost ~]# vi /etc/my.cnf
修改信息如下:
#启动日志功能,日志文件是master_log log_bin=master_log #主从中的唯一id server_id=1
如果是按照前言中链接的方式去安装,那my.cnf这个文件就在/etc下面,如果不在这个目录,那就需要找一找了
②重启mysql
[root@localhost ~]# service mysql restart
③进入master数据库的命令行客户端
[root@localhost ~]# mysql -u root -p
④创建一个myslave用户并给予权限
grant all privileges on *.* to 'myslave'@'slave从数据库ip' identified by '数据库密码' with grant option;
slave从数据库ip、数据库密码是自己设置的,复制粘贴命令的时候不要忘记修改
⑤查看用户权限
⑥查看master状态
[root@localhost mysql]# vi /data/mysql/auto.cnf
记住这个File名称,配置从数据库需要
⑦如果端口没有开放,需要把mysql的端口开放一下
4、配置slave从数据库
①修改/etc/my.cnf配置
[root@localhost mysql]# vi /etc/my.cnf
修改配置如下:
server_id=2
②修改从数据库的UUID
按照前言中链接的安装,auto.cnf在/data/mysql/auto.cnf
[root@localhost mysql]# vi /data/mysql/auto.cnf
随便修改一下,但是格式不能动,修改数字或者字母就行,我是把最后一位修改了
[auto] server-uuid=bc928583-e171-11ec-91c4-000c29ec6bd6
③重启数据库
[root@localhost mysql]# service mysql restart
④进入slave数据库的命令行客户端
[root@localhost mysql]# mysql -u root -p
⑤关闭slave
mysql> stop slave;
⑥配置master信息
mysql> change master to master_host='1master数据库ip',master_user='myslave',master_password='master数据库的密码',master_log_file='master日志文件';
命令中的中文提示,需要根据自己设置的真实填写即可
⑦启动slave
mysql> start slave;
⑧查看slave状态和数据
5、验证主从是否搭建成功
在master主数据库命令行客户端中,创建一个数据库看一下slave数据库有没有同步过去
create database demo default character set utf8;
然后查看一下,主从两个数据库都存在这个demo数据库,到这里MySQL主从搭建就完成了