MySQL主从同步实验

原创文章,转载请指明出处并保留原文url地址

MySQL目前在互联网领域应用非常广阔一个数据库系统. MySQL主从数据库是常用的使用方法之一. 本文将通过基于vmware的Centos虚拟机来实验安装MySQL的主从方式部署.

一.Vmware 及linux环境安装

1. Vmware软件安装

Vmware是流行的虚拟机软件, vmare软件下载安装方法请到搜索引擎去搜索,有各种文章可以参考.

2. Linux系统安装

用户安装完成vmware系统后可以自行安装linux系统

我们这里给一个最方便的方式, 下载已经安装好的linux for vmware虚拟机软件.

网址如下: http://www.thoughtpolice.co.uk/vmware/  里面有很多已经安装好的linux的vmware系统.

本文是以下面的版本进行测试安装的.

64-bit: centos-5.6-x86_64-server.zip, 456M
fast torrent download!, web download
md5sum: 2590006571f52ca00674d20d3b376672

3. 解压缩下载后的虚拟机文件到一个硬盘空间比较大的硬盘分区中.

4. 打开解压缩的文件目录

wps_clip_image-25335[3][1]

双击文件centos-5.5-x86_64-server.vmx,然后启动vmware虚拟机

wps_clip_image-3787[3][1]

点击图中红色区域的按钮, 启动虚拟机

5. 登录系统

如下图, 启动后系统如下界面

wps_clip_image-10229[3][1]

图中1位置表示当前虚拟机的运行状态

图中2位置表示当前虚拟机的名称, 例如图中有多个虚拟机, 当前正在看到到是 centos-5.5-x86_64-server这个虚拟机

图中3位置  表示当前用户 操作的键盘,鼠标还是在用户自己的计算机中, 你的输入,你的鼠标移动都是给你自己的操作系统的. 请特别注意 白色的鼠标箭头,这 个是最明显的看到你当前在那个系统下的标记.

用户需要在黑色窗口中心附近点击鼠标左键 ,这样就可以切换的键盘及鼠标操作到虚拟机中去.以后在输入键盘及鼠标移动等消息是发送给虚拟机的,你的本机程序将无法获得信息.(用户若是需要重虚拟机中退出请求等, 需要 按住左侧 的ctrl 同时在按住 左侧的 alt两个组合键,鼠标将退回到当前操作系统状态,用户可以继续输入数据了.)

用户点击鼠标左键后, 在登录页面可以输入用户名 :root

然后提示输入密码信息, 用户可以输入原始密码 :"thoughtpolice"(密码是双引号中内容)The root password for this image is "thoughtpolice".

6. 查看虚拟机ip地址

wps_clip_image-32565[4][1]

如上图:   图1. 处输入root(用户名)

图2. 输入密码thoughtpolice

图3. 输入ifconfig命令,

最后系统会显示下面的 提示信息

图4  处 是 本机当前ip地址.

7. 配置SecureCRT软件,

SecureCRT是一常见的linux终端软件,我们可以通过这个软件登录我们的虚拟机系统,完成各种操作,他的操作方法比直接在虚拟机上操作方便多了.软件的下载及安装大家自己去搜索及下载.

wps_clip_image-26415[4][1]

安装完成后, 启动软件, 然后点击

图1处 启动快速连接,

图2处 输入ip地址

图3处 输入用户名

二. MySQL安装

1. 安装前的准备工作

在SecureCRT登录后, 执行:  yum list | grep mysql 命令, 结果如下图:

wps_clip_image-9282[4][1]

然后显示相关的软件包列表, 右侧2的位置是软件报的相关信息.

若是出现下图的信息,

wps_clip_image-4979[3][1]

表示软件包已经被安装了,我们需要卸载他. (用 yum  remove 包名进行卸载, 这里可能需要的是:yum remove mysql.x86_64 ).

2. 配置mysql的yum数据源.

在命令行中输入: vi /etc/yum.repos.d/Percona.repo 打开vi编辑器

然后进入输入模式, 最后输入如下文本:

[percona]

name = CentOS $releasever - Percona

baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/

enabled = 1

gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona

gpgcheck = 1

最后结果如下:

wps_clip_image-598[3][1]

在命令提示行中 输入:vi /etc/pki/rpm-gpg/RPM-GPG-KEY-percona

然后输入文本:

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEsm3aERBACyB1E9ixebIMRGtmD45c6c/wi2IVIa6O3G1f6cyHH4ump6ejOi

AX63hhEs4MUCGO7KnON1hpjuNN7MQZtGTJC0iX97X2Mk+IwB1KmBYN9sS/OqhA5C

itj2RAkug4PFHR9dy21v0flj66KjBS3GpuOadpcrZ/k0g7Zi6t7kDWV0hwCgxCa2

f/ESC2MN3q3j9hfMTBhhDCsD/3+iOxtDAUlPMIH50MdK5yqagdj8V/sxaHJ5u/zw

YQunRlhB9f9QUFfhfnjRn8wjeYasMARDctCde5nbx3Pc+nRIXoB4D1Z1ZxRzR/lb

7S4i8KRr9xhommFnDv/egkx+7X1aFp1f2wN2DQ4ecGF4EAAVHwFz8H4eQgsbLsa6

7DV3BACj1cBwCf8tckWsvFtQfCP4CiBB50Ku49MU2Nfwq7durfIiePF4IIYRDZgg

kHKSfP3oUZBGJx00BujtTobERraaV7lIRIwETZao76MqGt9K1uIqw4NT/jAbi9ce

rFaOmAkaujbcB11HYIyjtkAGq9mXxaVqCC3RPWGr+fqAx/akBLQ2UGVyY29uYSBN

eVNRTCBEZXZlbG9wbWVudCBUZWFtIDxteXNxbC1kZXZAcGVyY29uYS5jb20+iGAE

ExECACAFAksm3aECGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAcTL3NzS79

Kpk/AKCQKSEgwX9r8jR+6tAnCVpzyUFOQwCfX+fw3OAoYeFZB3eu2oT8OBTiVYu5

Ag0ESybdoRAIAKKUV8rbqlB8qwZdWlmrwQqg3o7OpoAJ53/QOIySDmqy5TmNEPLm

lHkwGqEqfbFYoTbOCEEJi2yFLg9UJCSBM/sfPaqb2jGP7fc0nZBgUBnFuA9USX72

O0PzVAF7rCnWaIz76iY+AMI6xKeRy91TxYo/yenF1nRSJ+rExwlPcHgI685GNuFG

chAExMTgbnoPx1ka1Vqbe6iza+FnJq3f4p9luGbZdSParGdlKhGqvVUJ3FLeLTqt

caOn5cN2ZsdakE07GzdSktVtdYPT5BNMKgOAxhXKy11IPLj2Z5C33iVYSXjpTelJ

b2qHvcg9XDMhmYJyE3O4AWFh2no3Jf4ypIcABA0IAJO8ms9ov6bFqFTqA0UW2gWQ

cKFN4Q6NPV6IW0rV61ONLUc0VFXvYDtwsRbUmUYkB/L/R9fHj4lRUDbGEQrLCoE+

/HyYvr2rxP94PT6Bkjk/aiCCPAKZRj5CFUKRpShfDIiow9qxtqv7yVd514Qqmjb4

eEihtcjltGAoS54+6C3lbjrHUQhLwPGqlAh8uZKzfSZq0C06kTxiEqsG6VDDYWy6

L7qaMwOqWdQtdekKiCk8w/FoovsMYED2qlWEt0i52G+0CjoRFx2zNsN3v4dWiIhk

ZSL00Mx+g3NA7pQ1Yo5Vhok034mP8L2fBLhhWaK3LG63jYvd0HLkUFhNG+xjkpeI

SQQYEQIACQUCSybdoQIbDAAKCRAcTL3NzS79KlacAJ0aAkBQapIaHNvmAhtVjLPN

wke4ZgCePe3sPPF49lBal7QaYPdjqapa1SQ=

=qcCk

-----END PGP PUBLIC KEY BLOCK-----

最后显示如下:

wps_clip_image-12598[3][1]

最后输入 yum list | grep ercona | grep 55 查看源是否配置完成

wps_clip_image-24363[4][1]

图中显示的 几个 installed状态, 因为当前的虚拟中安装mysql造成的,没去卸载就截图了,用户安装的时候应显示的Percona的.

3. 安装Mysql

运行如下命令:

yum install -y Percona-Server-test-55.x86_64

之后运行如下命令:

yum install -y Percona-Server-server-55.x86_64

最后运行:

reboot命令, 重新启动服务器系统

三. 复制虚拟机

1. 关闭虚拟机

在linux终端下,调用shutdown now 命令,关闭linux虚拟机

2. Clone linux虚拟机

wps_clip_image-24066[3][1]

wps_clip_image-24075[3][1]

3. 启动clone后虚拟机, 检查虚拟机的ip地址, 有了这个ip地址才好进授权(msyql同步帐号的授权)工作

四. 配置mysql主从环境

1. Mysql主从服务器环境

l Mysql主服务器相关配置

[root@mysql01 ~]# hostname

mysql01

[root@mysql01 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:CC:9B:AA

inet addr:192.168.2.66  Bcast:192.168.2.255  Mask:255.255.255.0

..............

[root@mysql01 ~]#

l 从服务器配置

[root@mysql02 ~]# hostname

mysql02

[root@mysql02 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:BC:22:5B

inet addr:192.168.2.97  Bcast:192.168.2.255  Mask:255.255.255.0

......

[root@mysql02 ~]#

2. 在主服务器配置同步帐号

首先如下图登录mysql服务器

wps_clip_image-25652[4][1]

在命令提示符中输入下面命令, 注意帐号:repl, ip地址:2.97, 密码:123456, 注意授权全部的 数据库

grant replication slave on *.* to 'repl'@'192.168.2.97' identified by  '123456';(注意:去除前面的空格)

输入完成后如下图

wps_clip_image-2841[4][1]

要注意: 要在mysql01就是做master的机器上执行

Sql语句中要去除前面的多余空格(里面有可能有中文空格等)

执行完毕一般需要同 flush语句进行处理, 但我们稍后要重新启动mysql服务器因此就不需要了, 直接输入 \q; 退出 mysql程序.

3. 生成 mysql的配置文件

l 执行搜索命令,查找mysql 配置文件模板

find / -name *.cnf 最后显示如下:

wps_clip_image-17851[3][1]

注意图中绿色区域

l 生成配置文件

输入如下命令:

# cat /usr/share/doc/Percona-Server-server-55-5.5.28/my-large.cnf > /etc/my.cnf

l 编辑配置文件

vi /etc/my.cnf 文件

wps_clip_image-13716[3][1]

注意在中的[mysqld]配置区域中, 的绿色区域附近添加粉色区域的 文本, 表示不同步 mysql数据库

binlog-ignore-db=mysql

l 重新启动mysql服务

执行service mysql restart 命令重新启动mysql服务器

wps_clip_image-15798[4][1]

4. 配置从服务器

开始从服务器的虚拟机, 通过linux终端连接到从服务器的虚拟机,然后按照下面步骤完成相应工作.

l 生成配置文件

# cat /usr/share/doc/Percona-Server-server-55-5.5.28/my-large.cnf > /etc/my.cnf

vi /etc/my.cnf 文件, 添加如下代码server-id       = 2

wps_clip_image-14714[3][1]

l 重新启动mysql服务

[root@mysql02 ~]# service mysql restart

Shutting down MySQL (Percona Server)...[  OK  ]

Starting MySQL (Percona Server)..[  OK  ]

wps_clip_image-30757[3][1]

l 执行修改主从的sql语句

首先如上图登录 mysql的客户端中, 然后执行下面的sql语句,来设置从那里进行数据的同步操作

CHANGE MASTER TO MASTER_HOST='192.168.2.66',  MASTER_PORT=3306, MASTER_USER='repl',  MASTER_PASSWORD='123456', MASTER_CONNECT_RETRY=2;

l 开始slave服务

在mysql的sql界面中执行

start slave;

开始mysql的 slave功能

l 显示工作状态

在mysql的sql界面中执行如下语句

show slave status\G;

显示情况如下:

wps_clip_image-6898[3][1]

l 查看从服务器目录文件

wps_clip_image-30732[4][1]

如上图进入相关mysql的目录,检查相关文件注意红色区域文件及绿色区域文件

5. 主数据库执行创建数据库语句

mysql> CREATE DATABASE `mytest` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

Query OK, 1 row affected (0.00 sec)

6. 从库中执行显示数据库的命令

show databases;

wps_clip_image-10860[3][1]

显示情况如上, 已经将新创举的数据库从主库同步到从库了.

发表评论