在配置Mysql数据库主从复制集群时间,以确保:

1.主从server操作系统版本号和位数一致。

2.Mysql版本号一致。

为了保证稳定性,最好server操作系统和Mysql数据库环境一致。

CentOSserver上Mysql的安装方法能够參见博客:

http://blog.csdn.net/jhq0113/article/details/43812895

server配置:

Master:192.168.1.18

Slave:192.168.1.16

Master(192.168.1.18)server:

1.编辑/etc/my.cnf

[root@jhq0229 ~]# vim /etc/my.cnf

2.配置

[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql #主从复制配置
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#须要备份的数据库
binlog-do-db=orders
#不须要备份的数据库
binlog-ignore-db=mysql #启动二进制文件
log-bin=mysql-bin #服务器ID
server-id=1 # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

若没有配置binlog-do-db和binlog_ignore_db,表示备份所有数据库。

3.重新启动Mysqld服务

[root@jhq0229 ~]# service mysqld restart

4.为从Mysql创建用户

登录

[root@jhq0229 ~]# mysql -uroot -p

        Enter password:

创建用户

mysql> create user 'mastj'@'192.168.1.16' identified by '123456';

配置主从复制权限

mysql> grant replication slave on *.* to 'mastj'@'192.168.1.16' identified by '123456';

若orders数据库中已经有数据,还须要:

锁定数据库

mysql> flush tables with read lock;

将数据导入到从数据库,方法有多种。我是用Navicat复制的。复制完毕后:

查看master状态并解锁:

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 2005 | orders | mysql | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec) mysql> unlock tables;

Slave(192.168.1.16)server:

1.配置服务ID

[root@jhq0113 ~]# vim /etc/my.cnf

在[mysqld]以下增加

server-id=2

重新启动Mysql服务

[root@jhq0113 ~]# service mysqld restart

2.配置复制

登录mysql

[root@jhq0113 ~]# mysql -uroot -p

运行

mysql> change master to master_host='192.168.1.18',

master_user='mastj',

master_password='123456',

master_port=3306,

master_log_file='mysql-bin.000003',

master_log_pos=2005,

master_connect_retry=10;

參数具体解释:

master_host:主server的IP。

master_user:配置主server时建立的username

      master_password:用户密码

      master_port:主servermysql端口。假设未曾改动,默认就可以。

master_log_file:日志文件名,填写查看master状态时显示的File

master_log_pos:日志位置。填写查看master状态时显示的Position

master_connect_retry:重连次数

启动进程

mysql> start slave;

检查主从复制状态

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.18
Master_User: mastj
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 2369
Relay_Log_File: jhq0113-relay-bin.000002
Relay_Log_Pos: 647
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

若Slave_IO_Running和Slave_SQL_Running均为Yes。则表示连接正常。

在这一点上是可能的测试主从复制。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

最新文章

  1. Intellij Idea/Webstorm/Phpstorm 版本控制忽略文件
  2. Top 命令详解
  3. 火狐下多个span连在一起和换行写存在差异
  4. java_method_数据去重
  5. 深入理解CSS定位中的堆叠z-index
  6. POJ2823 Sliding Window (单调队列)
  7. [充电][ios]ios充电接口
  8. 移动Web单行文字垂直居中的问题
  9. dive into python 读笔(2)
  10. Lync安装随笔
  11. java源码解析——Stack类
  12. Apache遇到的问题:APR not found
  13. centos7之zabbix3.2搭建
  14. 英语口语练习系列-C40-电器-访友
  15. dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
  16. 虚拟机安装mysql
  17. linux搭建node环境
  18. 虚拟 DOM
  19. layui table 前台数字格式保留两位小数,不足补0(mysql 数据库)
  20. Vagrant测试

热门文章

  1. 【t069】奇怪的迷宫
  2. MapReduce 图解流程
  3. cocos2d-html5 javascript 通过C++绑定,调用java方法
  4. C#验证手机号
  5. teamview huawei
  6. Android自己定义控件2-简单的写字板控件
  7. oracle 复制表数据,复制表结构
  8. HTML代码简写法:Emmet和Haml(转)
  9. CSS自己主动换行、强制不换行、强制断行、超出显示省略号
  10. [WPF]VS2019打包WPF程序