Mysql数据库主从搭建

主库服务器:192.168.1.100

从库服务器:192.168.1.101

在两台服务器上安装mysql,

yum -y install mysql mysql-server mysql-devel

  1. 主服务设置

·设置密码:/usr/bin/mysqladmin -u root password ‘passwd‘。

·编辑配置文件:vi /etc/my.cnf

加入如下内容:

log-bin=mysql-bin      日志路径

server-id = 1           指定服务器id

# binlog-do-db =cacti     同步cacti库,如果不设置,则默认同步所有库。

#binlog-ignore-db =mysql   忽略mysql库的同步,如果不设置,默认同步所有库。

保存退出。

·添加授权:

/usr/local/mysql/bin/mysql-uroot –p   输入passwd进入数据库。

在mysql下输入授权命令:

grant replication slave on *.* to [email protected]‘192.168.1.101’identified by ‘passwd‘;

授权从主机使用root用户访问数据库。

flush privileges;   更新数据库。

·查看file和position值:

退出mysql界面重新启动数据库。service mysqld restart

输入命令show master status;  查看记录下file和position的值,slave端要使用到。

执行之后如下示例:

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB |Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |       106 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

此处需要记录mysql-bin.000001 和 98即可。

2,从服务器配置:

·设置密码,/usr/bin/mysqladmin-u root password ‘passwd‘

上述设置root的密码为passwd。此处我也设置为passwd

·编辑配置文件:vi/etc/my.cnf

加入如下内容:

server-id = 2           指定服务器id

一定要更改,不能和master上的值一样。否则,change master不成功。

保存退出。

重新启动mysql,servicemysqld restart

·指定主master信息:

进入mysqll

mysql –uroot –pmy7gadmin

change master to master_host=‘192.168.1.100‘,master_user=‘root‘, master_password=‘passwd‘, master_port=3306,master_log_file=‘mysql-bin.000001‘, master_log_pos=106;

指定IP地址,用户名,密码,端口号(端口号不加引号),日志文件,日志pos(不加引号).

启动slave

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

查看状态:如果***区域为yes,则表示正常。

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.229

Master_User: root

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 98

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 235

Relay_Master_Log_File: mysql-bin.000001

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: 98

Relay_Log_Space: 235

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

1 row in set (0.00 sec)

·此时已经配置完毕:切换到主master 使用命令查看数据库。

mysql> showdatabases;

+--------------------+

| Database           |

+--------------------+

|information_schema |

| mysql              |

| test               |

+--------------------+

3 rows in set (0.00sec)

创建数据库

mysql> create databasenio;

Query OK, 1 rowaffected (0.00 sec)

然后切换到从slave使用命令查看数据库是否同步过来。如下命令:

mysql> showdatabases;

+--------------------+

| Database           |

+--------------------+

|information_schema |

| mysql              |

| nio                |

| test               |

+--------------------+

4 rows in set (0.00sec)

可以看到已经同步过来了。至此,mysql主从配置完毕。

遇到的问题

Slave_SQL_Running: No

1.程序可能在slave上进行了写操作

2.也可能是slave机器重起后,事务回滚造成的.

一般是事务回滚造成的:
解决办法:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;

时间: 08-31

Mysql数据库主从搭建的相关文章

Linux系统中MySQL数据库“主从”配置

MySQL数据库"主从"配置 一.配置概述: 在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从.2台数据库配置好以后,当其中一台数据库被攻击以后,你被攻击的这台数据库的数据会被自动的备份到另一台数据库中去.即使被攻击了数据也不会丢失.配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在. 二.配置步骤: <配置具备的条件> 1.需要在虚拟机上安装好两台主机,同时安装好同一

mysql数据库主从同步

环境: Mater:   CentOS7.1  5.5.52-MariaDB  192.168.108.133 Slave:   CentOS7.1  5.5.52-MariaDB  192.168.108.140 1.导出主服务数据,将主备初始数据同步 master: //从master上导出需要同步的数据库信息 mysqldump -u*** -p*** --database test > test.sql //将master上的备份信息传输到slave上 scp /root/test.sq

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

MySQL数据库主从同步配置

Mysql主从安装配置 环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2 一. MySQL主服务器配置 1.编辑配置文件/etc/my.cnf # 确保有如下行 server-id = 1 log-bin=mysql-bin binlog-do-db=mysql  #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 binlog-ignore-db=mysql  #不需要备份的数据库名,如果备份多个数据库,

【转】MySQL数据库主从同步管理

MYSQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的管理也就显得非常重要,新手往往在出现主从同步错误的时候不知道如何入手,这篇文章就是根据自己的经验来详细叙述mysql主从的管理. MYSQL主从同步的作用 (1) 数据分布 (2) 负载平衡(load balancing) (3) 备份 (4) 高可用性(high availability)和容错 MYSQL主从同步的原理 关于MYSQL的主从同步,最主要的是要了解MYSQL的主从同步是如何工作的也即

京东MySQL数据库主从切换自动化

1. 产生背景 随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统. 2. 实现原理 此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统.MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的

京东DBA 王伟 | MySQL数据库主从切换自动化

http://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655808515&idx=1&sn=069d05a3bad6f67f400475ca6ad714c2&chksm=bd7421d48a03a8c274570da116945bfd6a2eb90615d8b7fba9d78e57890604bd1c415591f81d&mpshare=1&scene=23&srcid=01101Pn9HfMWE

MySQL数据库服务器搭建及基本管理

1.安装MySQL数据库 从官网下载RPM包:http://dev.mysql.com/downloads/mysql/ 选择适用于当前系统的bundle集合包 [[email protected] 桌面]# tar -vxf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar -C /opt/mysql/ MySQL-shared-5.6.15-1.el6.x86_64.rpm   //共享库 MySQL-devel-5.6.15-1.el6.x86_64.rpm

MariaDB、MySQL数据库主从同步

1.Mysql主从同步异步概念 异步:主服务器写完日志后立即返回同步完成消息,不受从服务器的状态和影响,mysql默认为异步工作模式 同步:主服务器写入数据到本地磁盘并记录好二进制日志,然后等从服务器发现数据发送改变再把数据同步到从服务器的日志中继并保存到二进制日志和磁盘,最后返回给主服务器同步完成的结果,因此比较影响性能. 2.同步过程: 主 服务器在可能修改数据时会把行内容记录在二进制日志中,而从服务会不停到主服务器请求数据,相当于mysql客户端,不停请求服务器的3306端口,从服 务器请