mysql主从配置

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

实例说明:

     主库IP:0.0.0.43 

     从库IP:0.0.0.194

一、配置主库 (0.0.0.43 

1、编辑主库配置文件/etc/my.cnf,注意位置,添加在[mysqld]下面,不要添加到[mysqld_safe]下面 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[mysqld]  
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
old_passwords= 1  
   
max_connections= 10000  
join_buffer_size = 64M  
read_buffer_size = 128M  
key_buffer = 512M  
open-files-limit =  28196  
query_cache_type= 2  
query_cache_size = 32M  
tmp_table_size = 1024M  
long_query_time= 2  
log-slow-queries = /var/log/mysql/slowquery.log  
   
#以下开始是主从配置  
server-id= 1  #主库一般是 1 ,从库写别的,不重复就行  
log-bin=my_binglog #开启日志记录,这样就可以支持主从了  
log_bin=/var/log/mysql/mysql-bin.log  
expire_logs_days= 10  
max_binlog_size=100M  
binlog_do_db=abc #需要被分发的主数据库名  
binlog_ignore_db=test #不需要被分发的主数据库名  
   
[mysqld_safe]  
log-error=/var/log/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid

binlog_do_db为需要复制的db。 binlog_ignore_db为忽略复制的db。需要增加DB的话,就增加相应的一行。 


2、重启master数据库,运行检查 

1
2
3
4
5
6
7
8
mysql> show master status; #检查是否以master形式启动了。
  
#注意以下内容,这是作为主从同步的依据: 
master_log_file主库当前的日志文件 
master_log_pos主库的日志文件偏移量 
 
mysql> show variables like  "%log%" ;  
#需要看到这样的一行,说明binlog已经开启了: log_bin | ON


3.master上为slave建立用户 

1
mysql> grant replication slave,reload, super  on *.* to  'slave' @ '0.0.0.194'  identified by  '123456' ;

这样,主机配置完毕。 

二、配置从库 (0.0.0.194 )

1、编辑从库配置文件/etc/my.cnf,注意位置,添加在[mysqld]下面,不要添加到[mysqld_safe]下面  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[mysqld]  
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
old_passwords= 1  
   
max_connections= 10000  
join_buffer_size = 64M  
read_buffer_size = 128M  
key_buffer = 512M  
open-files-limit =  28196  
query_cache_type= 2  
query_cache_size = 32M  
tmp_table_size = 1024M  
long_query_time= 2  
log-slow-queries = /var/log/mysql/slowquery.log  
   
#以下开始是主从配置  
server-id= 2  #主库一般是 1 ,从库写别的,不重复就行   
binlog_do_db=abc #需要被分发的主数据库名  
binlog_ignore_db=test #不需要被分发的主数据库名  
#主从配置内容结束
   
[mysqld_safe]  
log-error=/var/log/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid


2、登录从库,执行从库配置命令

1
master TO master_host= '0.0.0.43' , master_port= 3306 , master_user= 'slave' , master_password= '123456' , master_log_file= 'my_binglog.000001' , master_log_pos= 107 ;

然后start slave
检查salve状态 

1
2
slave:mysql> show slave status;  
#很多很多列


6.将主机数据 copy 过来 

1
2
3
4
5
//清空表缓存并且锁住表  
mysql>flush tables with read lock;  
//查看binlog并记录下来  
mysql>show master status;  
file+position就是slave复制的起点

mastermysqldump导出 

mysqldump -h192.168.1.109 -uroot -prpassoot360 --default-character-set=utf8 zanshop>/web/zanshop0817.utf8.sql
slave建好同名数据库,导入

mysql>source /web/zanshop0817.utf8.sql;(在mysql命令下执行,可导入表,先创建数据库且设置编码为utf-8,然后要使用 use zanchaoshi; 进入数据库

 

1.  //解除数据库锁定  

2. mysql>unlock tables;  


顺序重启主从两个数据库 


7.完毕,在主数据库进行增删修改,看从数据库是否有更新。 
源自:http://www.luochunhui.com/id/550 
http://www.d5s.cn/archives/95

CHANGE master TO master_host='119.254.85.35', master_port=3306, master_user='slave', master_password='123456', master_log_file='mysql-bin.000049', master_grant replication slave,reload,super on *.* to 'slave'@'%' identified by '123456';

CHANGE master TO master_host='119.254.85.35', master_port=3306, master_user='slave', master_password='123456', master_log_file='mysql-bin.000049', master_log_pos=107; 

log_pos=107; 










本文转自 艺晨光 51CTO博客,原文链接:http://blog.51cto.com/ycgit/1653970,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
20 1
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
730 0
|
1月前
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
129 1
|
2月前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
37 5
|
3月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
79 0
|
18天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
83 1
|
24天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
18天前
|
SQL 关系型数据库 MySQL
mysql主从同步出错解决办法
mysql主从同步出错解决办法
12 0
|
1月前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1
|
1月前
|
弹性计算 关系型数据库 MySQL
rds子网配置
在阿里云中配置RDS子网涉及五个关键步骤:1) 创建或选择VPC作为私有网络环境;2) 在VPC内创建子网并确保IP地址不重叠;3) 关联路由表和安全组以控制流量及访问权限;4) 创建RDS实例时指定VPC和子网;5) 确保ECS实例与RDS在同一VPC或配置相应跨VPC访问,并调整安全组规则。这样可保障RDS与其他资源的通信及网络性能。
19 6