step by step 配置mysql复制
来源:互联网 发布:手机淘宝网首页官网 编辑:程序博客网 时间:2024/05/14 15:34
采用全库复制的方案,方便管理mysql 5.5 + rhel5.8
10.4.11.12 master
10.4.11.13 slave
---Master端设置
1, 创建复制帐号,需要复制和slave权限
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'10.4.11.12 IDENTIFIED BY 'mysql;
Query OK, 0 rows affected (0.00 sec)
2, 修改参数,并重启生效
每个服务器必须有唯一的server-id,默认为1,为了防止冲突,一般建议设置为IP地址的后几位,本例设置为12,通过修改主库的my.cnf文件实现
#skip-networking
server-id = 12
# Uncomment the following if you want to log updates
log-bin=mysql-bin
重启mysql
service mysql restart
---slave端的设置
3,slave库的参数设置,同样需要重启生效
vi /etc/my.cnf
#skip-networking
server-id = 13
# Uncomment the following if you want to log updates
log-bin=mysql-relay-bin
4,master导出数据到slave库
如果数据库使用的是MyISAM表类型的话,可按如下方式操作:
shell> mysqldump --all-databases --master-data=1 > data.sql
如果数据库使用的是InnoDB表类型的话,则应该使用single-transcation:
shell> mysqldump --all-databases --single-transaction --master-data=1 > data.sql
slave端导入数据
mysql < data.sql
5,查看master的配置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6,启动复制,slave端运行如下命令
--配置复制的指向
CHANGE MASTER TO MASTER_HOST='10.4.11.12',
MASTER_USER='repl',
MASTER_PASSWORD='mysql',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
--开始复制
mysql> start slave ;
Query OK, 0 rows affected (0.00 sec)
7,查看复制的状态,注意slave_io_state, slave_io_Running,和slave_sql_running三列的值
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.251.11
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1278
Relay_Log_File: linux2-relay-bin.000002
Relay_Log_Pos: 503
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
……..
8,测试复制情况
Master端新建一个表
Slave查看是否复制完成
10.4.11.12 master
10.4.11.13 slave
---Master端设置
1, 创建复制帐号,需要复制和slave权限
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'10.4.11.12 IDENTIFIED BY 'mysql;
Query OK, 0 rows affected (0.00 sec)
2, 修改参数,并重启生效
每个服务器必须有唯一的server-id,默认为1,为了防止冲突,一般建议设置为IP地址的后几位,本例设置为12,通过修改主库的my.cnf文件实现
#skip-networking
server-id = 12
# Uncomment the following if you want to log updates
log-bin=mysql-bin
重启mysql
service mysql restart
---slave端的设置
3,slave库的参数设置,同样需要重启生效
vi /etc/my.cnf
#skip-networking
server-id = 13
# Uncomment the following if you want to log updates
log-bin=mysql-relay-bin
4,master导出数据到slave库
如果数据库使用的是MyISAM表类型的话,可按如下方式操作:
shell> mysqldump --all-databases --master-data=1 > data.sql
如果数据库使用的是InnoDB表类型的话,则应该使用single-transcation:
shell> mysqldump --all-databases --single-transaction --master-data=1 > data.sql
slave端导入数据
mysql < data.sql
5,查看master的配置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6,启动复制,slave端运行如下命令
--配置复制的指向
CHANGE MASTER TO MASTER_HOST='10.4.11.12',
MASTER_USER='repl',
MASTER_PASSWORD='mysql',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
--开始复制
mysql> start slave ;
Query OK, 0 rows affected (0.00 sec)
7,查看复制的状态,注意slave_io_state, slave_io_Running,和slave_sql_running三列的值
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.251.11
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1278
Relay_Log_File: linux2-relay-bin.000002
Relay_Log_Pos: 503
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
……..
8,测试复制情况
Master端新建一个表
Slave查看是否复制完成
- step by step 配置mysql复制
- MySQL Cluster配置step by step
- Oracle高级复制的创建配置步骤-Step by Step
- Proftpd MySQL [Step by Step]
- Dataguard配置Step by Step
- Oracle高级复制Step by Step
- Apache+php+MySQL安装 Step By Step
- Apache+php+MySQL安装 Step By Step
- Apache+php+MySQL安装 Step By Step
- Apache+php+MySQL安装 Step By Step
- Apache+php+MySQL安装 Step By Step
- 深入MySQL源码—Step By Step
- MyCat1.6 Mysql集群Step by Step
- MySQL step by step 安装实战
- Mantis平台Step-By-Step配置手册
- Oracle dataguard配置Step by Step
- josso for tomcat配置 step by step
- step by step学习LAMP配置
- socket 编程入门教程(一)TCP server 端:4、构造函数涉及的概念
- 分析elf文件的利器(常用命令)
- OpenCV 2.4.6 + VS2010 + win7 环境配置
- 聚簇索引与非聚簇索引的区别以及SQL Server查询优化技术
- 藏文文本在MFC编辑框控件中显示不完整,下部被截断了一部分原因分析
- step by step 配置mysql复制
- 自定义打印
- 不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器的所有连接
- Android LCD(一):LCD基本原理篇
- Java中的transient关键字
- __declspec(dllimport)和__declspec(dllexport)
- 无法找到“XXX.exe”的调试信息,或者调试信息不匹配。。
- toj1469 Wooden Sticks
- 关于如何按位强制转化,如float与int之间按位转化