mysql主从复制怎么做
时间 : 2023-03-22 06:19:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
MySQL主从复制,指的是将一个MySQL数据库中的数据复制到另一个MySQL数据库中。主数据库中的数据更新后,从数据库也会同步更新,以保证数据的一致性和高可用性。
下面给出主从复制的配置步骤:
1. 建立主库/Master
在主库中创建一个名为repl的用户,并授予REPLICATION SLAVE权限。
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
打开MySQL配置文件 `/etc/my.cnf`,添加以下内容:
[mysqld]
log-bin=mysql-bin # 开启二进制日志
server-id=1 # 主数据库的唯一ID,范围为1-2^32-1,要保证主从不一样
重启MySQL服务器。
2. 建立从库/Slave
在从库中创建一个名为repl的用户,并授予SUPER、REPLICATION CLIENT和REPLICATION SLAVE权限。
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'repl'@'%';
打开MySQL配置文件 `/etc/my.cnf`,添加以下内容:
[mysqld]
server-id=2 # 从数据库的唯一ID,要保证主从不一样
重启MySQL服务器。
3. 配置主从同步
在从库中执行以下命令:
CHANGE MASTER TO
MASTER_HOST='master_host', # 主数据库IP地址
MASTER_USER='repl', # 主数据库的用户名
MASTER_PASSWORD='password', # 主数据库的密码
MASTER_LOG_FILE='mysql-bin.000001', # 主数据库中最后的二进制日志文件名字
MASTER_LOG_POS=120; # 主数据库中最后的日志文件位置
通过SHOW MASTER STATUS命令获取主数据库中的二进制日志文件名和位置。
SHOW MASTER STATUS;
执行START SLAVE在从数据库中启动主从同步。
START SLAVE;
通过SHOW SLAVE STATUS命令,可以查看从数据库中的主从同步状态。
SHOW SLAVE STATUS;
4. 验证主从同步
在主库中插入一条数据,例如:
USE test;
INSERT INTO demo VALUES ('1', 'hello, world');
在从库中查询数据,可以看到主库中插入的数据已经同步到从库中了。
USE test;
SELECT * FROM demo;
以上就是MySQL主从复制的配置步骤,通过主从复制可以提高数据的可用性以及读写分流的效率,适用于数据库集群的搭建。
MySQL主从复制是MySQL数据库中的一个重要功能,能够将一份数据库的数据备份到另外一台或多台服务器上,从而实现数据的高可用性、负载均衡以及灾备备份等功能。
下面是实现MySQL主从复制的详细步骤:
1. 首先确认主从服务器的MySQL版本是否相同,如果不相同,则需要升级或降级MySQL版本。
2. 打开主服务器上的my.cnf文件,找到[mysqld]的标识符,在该标识符下增加以下信息:
log-bin=mysql-bin
server-id=1
其中log-bin用于开启MySQL二进制日志, server-id用于设置主服务器的唯一ID。
3. 重启主服务器MySQL服务。
4. 在从服务器上,同样打开my.cnf文件,增加以下信息:
server-id=2
其中server-id用于设置从服务器的唯一ID,其值必须与主服务器不同。
5. 重启从服务器MySQL服务。
6. 登录主服务器MySQL,为从服务器创建一个专门负责从主服务器复制数据的用户,例如:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
其中%代表允许从任意的IP地址上进行,slaver_user为用户名称,password为密码。
7. 查看当前主服务器的binlog文件名和binlog位置(offset):
SHOW MASTER STATUS;
将该结果记录下来,备用。
8. 登录从服务器MySQL,执行以下命令:
CHANGE MASTER TO
MASTER_HOST='ip_address_or_hostname_of_master',
MASTER_USER='slave_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
其中,MASTER_HOST为主服务器IP或hostname,MASTER_USER和MASTER_PASSWORD是之前为从服务器创建的用户和密码。
MASTER_LOG_FILE与MASTER_LOG_POS用于指定从服务器从哪个binlog文件的哪个位置开始复制数据。
9. 执行以下命令开启从服务器到主服务器的连接:
START SLAVE;
10. 查看从服务器的状态:
SHOW SLAVE STATUS\G
如果Slave_IO_Running和Slave_SQL_Running的值都为Yes,则说明主从复制已经成功建立。
总结:MySQL主从复制是MySQL数据库中的一个重要功能,通过该功能可以实现数据的灾备备份、负载均衡、数据可靠性等,需要具备一定的MySQL基础知识才能完成以上步骤操作。
上一篇
MYSQL怎么看删干净了
下一篇
怎么去注册表删mysql
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章