【MySQL】主从搭建

前言

数据量已经到达MySQL的语句执行的时候,就需要考虑使用分库分表或者主从读写分离,那这里就讲一下MySQL的主从搭建,MySQL单机搭建,就参考一下下面的链接:

MySQL系列之安装_阿小冰的博客-优快云博客mysql安装手册1系统约定安装文件下载目录:/opt/soft/Mysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql ----在根目录直接创建日志保存位置:/data/log/mysql ----在根目录直接创建如果有已经提前...https://blog.youkuaiyun.com/qq_38377525/article/details/84931611

配置

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主从搭建就完成了

MySQL主从复制是一种常用的数据库复制技术,用于实现数据的备份、读写分离和负载均衡。下面是一种简单的MySQL主从搭建步骤: 1. 确保服务器和从服务器上都安装了MySQL数据库,并且版本一致。 2. 在服务器上编辑MySQL配置文件(my.cnf),启用二进制日志功能。在配置文件中添加以下内容: ``` [mysqld] log-bin=mysql-bin server-id=1 ``` `log-bin`参数指定二进制日志文件的名称,`server-id`参数指定服务器的唯一ID。 3. 重启服务器使配置生效。 4. 在服务器上创建一个用于复制的用户,并授予适当的权限。例如,可以使用以下命令创建用户并授予权限: ``` CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip'; FLUSH PRIVILEGES; ``` `slave_ip`是从服务器的IP地址,`password`是用户的密码。 5. 在服务器上执行以下命令,获取当前二进制日志文件和位置的信息: ``` SHOW MASTER STATUS; ``` 记下输出结果中的文件名和位置信息,稍后在从服务器上配置时会使用。 6. 在从服务器上编辑MySQL配置文件(my.cnf),启用复制功能。在配置文件中添加以下内容: ``` [mysqld] server-id=2 ``` `server-id`参数指定从服务器的唯一ID,与服务器不同即可。 7. 重启从服务器使配置生效。 8. 在从服务器上执行以下命令,配置从服务器连接到服务器并开始复制: ``` CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos; ``` `master_ip`是服务器的IP地址,`replication_user`和`password`是之前创建的复制用户的用户名和密码,`master_log_file`和`master_log_pos`是之前在服务器上获取的二进制日志文件和位置信息。 9. 启动从服务器上的复制进程: ``` START SLAVE; ``` 10. 在从服务器上执行以下命令,检查复制状态: ``` SHOW SLAVE STATUS\G ``` 如果输出结果中的`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,表示主从复制已成功搭建。 这只是一个简单的MySQL主从搭建步骤,实际环境中可能还需要考虑更多因素,如网络配置、防火墙设置等。具体操作还需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值