【mysql】mysql的数据库主从(一主一从)

在搭建mysql的数据库主从之前,我们在两台不同的服务器上搭建mysql数据库,安装的步骤在下面的博客中:

linux安装mysql :https://blog.youkuaiyun.com/wangyunzhao007/article/details/104230509

然后我们正式开始做数据库主从:

一、主机配置(主机ip:192.168.157.130)

1.打开配置文件

vim /etc/my.cnf

2.在配置文件中写入我们的配置

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库,可以不写,这样就除了不要复制的,剩下的都复制
binlog-do-db=数据库名称
#设置logbin格式
binlog_format=STATEMENT

 

二、从机配置(从机ip:192.168.157.129)

1.打开配置文件

vim /etc/my.cnf

2.在配置文件中写入我们的配置

修改配置文件: vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

三、主机,从机都重启mysql服务

#重启mysql服务器
systemctl restart mysqld
#查看mysql的状态
systemctl status mysqld

 重启mysql服务器,查看mysql的状态,如下如是启动成功的状态,代表重启成功;

四、主机从机都关闭防火墙或者将3306端口打开 

1.关闭防火墙

#关闭防火墙
service firewalld stop/systemctl stop firewalld  
#开启防火墙
service firewalld start/systemctl start firewalld
#查看防火墙的状态
systemctl status firewalld

关闭防火墙之后我们需要查看防火墙的状态,下图分别使我们开启防火墙之后和关闭防火墙之后分查看防火墙的状态:

2.在防火墙开端口 (如果选择了关闭防火墙就不用做这步了

#开3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp

添加成功如下图所示,这时候还需要重新载入防火墙才能生效 

#防火墙重新载入
firewall-cmd --reload

重新载入防火墙成功 

然后验证是否添加成功

#查看是否添加成功
firewall-cmd --zone=public --query-port=3306/tcp

验证成功,已经添加完毕 

 

五、在主机上建立账户并授权给从机(给从机分配链接的账号,用来备份)

1.在liunx系统中登录mysql的主机

#u后是root账户,-p后密码是123456
mysql -uroot -p123456

2.给从机分配一个账号用来做主从复制 

#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

 3.查看master的状态

#查询master的状态
show master status;

输入命令后我们可以看到一下几个信息 :

记录下File和Position的值
执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

六、在从机配置需要复制的主机

1.在liunx系统中登录mysql的从机

#u后是root账户,-p后密码是123456
mysql -uroot -p123456

2.配置复制的主机

2.1停止主从复制(不论有没有开启)

#停止从服务器复制功能
stop slave;

2.2重新配置主从

reset master;

2.3配置复制主机 的信息(汉字需要改成上图master中的值)

#复制主机的命令
CHANGE MASTER TO MASTER_HOST='主机的IP地址',
MASTER_USER='slave',
MASTER_PASSWORD='123123',
MASTER_LOG_FILE='mysql-bin.日志具体数字',MASTER_LOG_POS=位点具体值;

示例,这是根据我的信息写的命令:

CHANGE MASTER TO MASTER_HOST='192.168.157.130',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=2635;

 2.4启动复制

start slave;

2. 5查看主从复制的状态

#查看从服务器状态
show slave status\G;

看到下面两个参数都是Yes,则说明主从配置成功!

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

则证明主从复制成功了。 

 

 

 

 

### 关于万里数据库的介绍 万里数据库家专注于国产自可控数据库产品研发的企业,成立于2000年。其核心业务围绕站式数据库产品与解决方案展开,致力于为客户提供高性能、高稳定性和易于使用的数据库服务[^1]。公司已经服务于金融、运营商、能源、政府、交通等多个行业的重点客户,并在超过1000个应用场景中实现了国产化替代和数字化转型。 #### 数据库产品的特点 万里数据库的产品线涵盖了多种场景需求,以下是其要特性的概述: 1. **技术创新与自研发** 万里数据库拥有多项发明专利和软件著作权,在技术领域积累了丰富的经验。它不仅是国家级专精特新的“小巨人”企业,还积极参与国家数据库行业标准的制定工作[^1]。 2. **兼容性与生态支持** 继承自MySQL的核心技术和生态系统,万里数据库能够提供高度兼容的服务,适用于广泛的业务场景。这种兼容性使得用户能够在不改变现有架构的情况下轻松迁移到万里数据库的产品[^4]。 3. **灵活性与可扩展性** 针对传统数据库系统的局限性,万里开源云数据库服务平台提供了灵活且可扩展的解决方案。它可以按照用户的实际需求进行定制化的二次开发,满足不同行业的特殊要求[^3]。 4. **性能优化与稳定性保障** GreatSQL 是万里数据库推出的个重要分支版本,以其卓越的性能表现著称。通过持续修复 Bug 和优化性能,GreatSQL 已经具备了较高的成熟度,适合用于生产环境中[^2]。此外,事务处理方面严格遵循 ACID 原则中的隔离性和持久性等特性,确保数据的安全可靠[^5]。 5. **全面的技术服务体系** 不仅限于单的产品交付,万里数据库还能围绕 MySQL 提供全方位的支持方案,包括但不限于源码分析、定位解决问题的能力以及运维工具的研发等方面[^4]。 ### 使用建议 对于计划采用万里数据库的企业来说,可以根据自身的具体需求选择合适的产品和服务组合。如果追求极致性能,则可以选择经过充分验证后的 GreatSQL;而对于那些希望获得更加完整的生命周期管理体验者而言,“万里开源云数据库服务平台”将是不错的选择之[^3]。 ```python # 示例代码展示如何连接到万里数据库 (假设使用的是 Python 的 pymysql) import pymysql connection = pymysql.connect( host='localhost', user='root', password='password', database='test_db' ) try: with connection.cursor() as cursor: sql_query = "SELECT * FROM example_table" cursor.execute(sql_query) result = cursor.fetchall() finally: connection.close() print(result) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值