安顿Mysql主从服务完毕实例,

start slave;

布局Mysql主从劳动完成实例,

配备Mysql主从劳动完成实例

### 配置主数据库  my.cnf

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

### 在主数据库上创办同步账号

create user backup;
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.%.%' IDENTIFIED BY 'mysql';

### 配置从数据库  my.cnf

server-id=2
relay-log-index=slave-relay-bin.index
relay- log=slave-relay-bin

### 重启mysql服务

service mysqld restart

### 连接Master服务

change master to master_host='192.168.91.128',
master_port=3306,master_user='backup',master_password='mysql',
master_log_file='master-bin.000001',master_log_pos=0;

### 启动slave服务

start slave;

### 查看Master服务情形

SHOW MASTER STATUS;

### 查看Slave服务地方

SHOW slave STATUS \G;

### 检查server_id是还是不是一致,供给不同

show variables like 'server_id';

广大错误

错误: Fatal error: The slave I/O
thread stops because master and slave have equal MySQL server UUIDs;
these UUIDs must be different for replication to work.

缓和形式:
检查data目录中的auto.cnf中的server-uuid=********************
是或不是一致的,要改为差异

谢谢阅读,希望能补助到大家,谢谢大家对本站的帮忙!

配置Mysql主从劳动实现实例 ### 配置主数据库 my.cnf
server-id=壹log-bin=master-binlog-bin-index=master-bin.index ###
在主数据库…

缓和形式:

切换主从服务器

service mysqld restart

找到my.cnf配置文件中的server_id,修改从库的server_id有限援助和复制结构中的其余db不一致,重启db就能够

中央服务器同步保证
由于各种缘由,导致基本数据不雷同,在负载低的时候,进行手动同步.
在主服务器上进行

SHOW MASTER STATUS;

 
mysql主从呢,听就听得多了应该轻巧,但出手做依旧率先次,做起来发掘如故出了点没临时常延误了弹指间,这里做一下笔录。

环境:
主服务器:centos 5.二 mysql 伍.一.3五 源码 IP:1玖贰.168.一.2二
从服务器:centos 五.二 mysql 五.一.3伍 源码 IP:1玖二.16八.1.3三
配置:
壹、主服务器
一.一、成立三个复制用户,具备replication slave 权限。
mysql>grant replication slave on *.* to ‘repl’@’192.168.1.22′
identified by ‘repl’;
1.2、编辑my.cnf文件
vi /etc/my.cnf
添加
server-id=1
并开启log-bin贰进制日志文件
log-bin=mysql-bin
注:需求把暗中同意的server-id=一去掉
1.3、启动mysql数据库
mysqld_safe –user=mysql &
一.四、设置读锁
mysql>flush tables with read lock;
壹.5、得到binlog日志文件名和偏移量
mysql>show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.0000010 | 106| | |
+——————+———-+————–+——————+
壹.陆、备份要共同的数据库
mysqldump test > test.sql
1.7、解锁
mysql>unlock tables;

change master to master_host='192.168.91.128',
master_port=3306,master_user='backup',master_password='mysql',
master_log_file='master-bin.000001',master_log_pos=0;

三)设置数据同步权限

mysql> grant replication slave,replication client on *.* to
slave@’192.168.2.65′ identified by “123456”;

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

任何表明
主服务器my.cnf
#binlog-do-db=需求备份的数据库名,可写多行
#binlog-ignore-db=不须求备份的数码库名,可写多行
从服务器my.cnf
# replicate-do-db=test 须求备份的数据库名
# replicate-ignore-db=mysql 忽略的数据库
# master-connect-retry=60
就算从服务器开采主服务器断掉,重新连接的年华差(秒)
以下设置也可直接修改my.cnf配置文件
log-bin=mysql-bin
master-host=192.168.1.22
master-user=repl
master-password=repl
master-port=3306

消除方法:
检查data目录中的auto.cnf中的server-uuid=********************
是或不是一样的,要改为不相同等

mysql
伍.6的复制引进了uuid的概念,各类复制结构中的server_uuid得保障不1致,不过查看到一贯copy 
data文件夹后server_uuid是如出壹辙的,show variables like ‘%server_uuid%’;

: 主服务器:centos 伍.二 mysql 5.壹.3伍 源码
IP:1玖2.16八.一.2贰 从服务器:centos 5.贰 mysql 五.一.3伍 源码 IP:1玖二.16八.1.3叁配置: 一、主服务器 1.一、创设贰个复制用…

### 在主数据库上开创同步账号

1、查mysql的error.log日志

当主服务器出现故障时,可将从服务器当主服务器来使用.步骤如下:
1、保险全体从数据库都早已执行了relay log中的全部立异,在从服务器中施行
stop slave io_thread,用show processlist检查,查看意况是还是不是是Has read all
relay log,表示更新实现.
mysql>stop slave io_thread;
Query OK,0 affected (0.00 sec)
mysql>show processlistG;
*************************** 2. row
***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 4757
State: Has read all relay log; waiting for the slave I/O thread to
update it
Info: NULL
二、在从服务器上推行stop slave,reset master命令,复位成主数据库
mysql>stop slave;
Query OK,0 affected (0.00 sec)
mysql>reset master;
Query OK,0 affected (0.00 sec)
3、删除新的主服务器数据库目录中的master.info和relay-log.info文件,不然下一次重启时还会依照从劳动

### 配置从数据库  my.cnf

肆)查看主服务器master状态(注意File与Position项,从服务器需求那两项参数)

mysql> show master status;

+——————+———-+————–+——————+——————-+

| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |
Executed_Gtid_Set |

+——————+———-+————–+——————+——————-+

| mysql-bin.000009 |      721 |  center      |                  |       
          |

+——————+———-+————–+——————+——————-+

1 row in set (0.01 sec)


下边是slave数据库上的操作:

问题?
1.在从数据库中查阅slave状态时现身
The slave I/O thread stops because master and slave have equal MySQL
server ids; these ids must be different for replication to work (or the
–replicate-same-server-id option must be used on slave but this does not
always make sense; please check the manual before using it)
表达方从服务器里my.cnf中的server-id有平等的。
化解办法:
修改my.cnf里的server-id,视同一律启数据库服务。my.cnf文件默许有server-id=1

show variables like 'server_id';

mysql> show master status;

mysql>flush tables with read lock;
Query OK,rows affected (0.01 sec)
mysql>show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.0000011 | 260| | |
+——————+———-+————–+——————+
在从服务器上实行
先取稳妥前主服务器的二进制文件名和偏移量,施行命令使从服务器与主服务器同步
mysql>select master_pos_wait(‘mysql-bin.0000011′,’260′);
+————————————————–+
| master_pos_wait(‘mysql-bin.0000011′,’260′) |
+————————————————–+
| 0 |
+————————————————–+
1 row in set (0.01 sec)
同台到位后,在主服务器上举办解锁
mysql>unlock tables;

### 配置主数据库  my.cnf

一)设置master数据库的my.cnf文件(在[mysqld]配备区域拉长下边内容)

[root@master ~]# vim /usr/local/mysql/my.cnf

server-id=1        #数据库唯一ID,主从的标志号相对不可能重新。

log-bin=mysql-bin    #开启bin-log,并钦点文件目录和文书名前缀

binlog-do-db=center 
#亟待一块的数据库。借使是七个一同库,就以此格式另写几行就可以。即便不指明对有个别具体库同步,就去掉此行,表示同步全部库(除了ignore忽略的库)。

binlog-ignore-db=mysql 
#今是昨非步mysql系统数据库。假诺是多个分歧步库,就以此格式另写几行;也得以在1行,中间逗号隔开。

sync_binlog = 壹      #确认保证binlog日志写入后与硬盘同步

binlog_checksum = none 
#跳过现成的选用checksum的轩然大波,mysql五.陆.5过后的版本中binlog_checksum=crc3二,而低版本都以binlog_checksum=none

binlog_format = mixed 
#bin-log日志文件格式,设置为MIXED能够免御主键重复。

贰、从服务器
2.1、编辑my.cnf文件
vi /etc/my.cnf
添加
server-id=2
注:须求把暗中同意的server-id=一去掉
二.2、运维从数据库
mysqld_safe –user=mysql &
2.三、对从数据库实行对应设置
mysql> change master to
-> master_host=’192.168.1.22′
-> master_user=’repl’
-> master_password=’repl’
-> master_log_file=’mysql-bin.0000010′
-> master_log_pos=106;
2.四、运维从服务器slave线程
mysql>start slave;
进行show processlist命令展现以下进程:
mysql>show processlistG
*************************** 2. row
***************************
Id: 2
User: system user
Host:
db: NULL
Command: Connect
Time: 2579
State: Has read all relay log; waiting for the slave I/O thread to
update it
Info: NULL表示slave已经接二连三上master,开头收受并推行日志
二.伍、查看slave线程状态
mysql>show slave status;
*************************** 1. row
***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.22
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.0000010
Read_Master_Log_Pos: 106
Relay_Log_File: centos-relay-bin.000002
Relay_Log_Pos: 529
Relay_Master_Log_File: mysql-bin.0000010
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 830
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)

server-id=2
relay-log-index=slave-relay-bin.index
relay- log=slave-relay-bin

2)导出master数据库,导入到slave数据库中。保证双方在联合境况实现前的数额一致。

导出数据库在此之前先锁定数据库

mysql> flush tables with read lock;   
#数据库只读锁定命令,幸免导出数据库的时候有数量写入。unlock
tables命令解除锁定

mysqldump -uroot -p密码 center > /opt/center.sql

scp center.sql root@1玖二.16捌.二.陆伍:/opt/
#将导出的sql文件上传到slave机器上

测试
一、在主服务器test数据库中创立user表
mysql>use test;
mysql>create table user(id int);
2、在从服务器中查阅user表
mysql>use test;
mysql> show tables like ‘user’;
+———————-+
| Tables_in_test(user) |
+———————-+
| user |
+———————-+
1 row in set (0.00 sec)
证实为主数据同步成功。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图