本实验在虚拟机vmware workstation 11上进行,虚拟网卡使用host-only模式,安装centos6.6_64位操作系统。

主机master:node1.test.com ip:192.168.245.11

从机slave:  node2.test.com ip:192.168.245.12

mysql数据库使用5.6.22版本,通用二进制包mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz。

注意,操作系统的glibc要大于等于2.5版本,可用以下命令查看:

# rpm -qa |grep glibc

centos6.6_64位带的是glibc2.12,所以使用默认即可。

 

接下来分别在主从机上安装mysql:

先用filezilla等工具将软件上传至服务器/root目录

新建用户mysql:

#groupadd mysql

#useradd -g mysql -r mysql

将mysql安装至/usr/local/

#tar -zxvf mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

#ln -s mysql-5.6.22-linux-glibc2.5-x86_64/ mysql

设置mysql挂载目录(这里使用LVM)

#fdisk /dev/sda

分出一个5G大小的分区,分区类型为8e(即lvm的分区类型)

查看分区:

#fdisk -l

/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64         325     2097152   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             325       10524    81920000   83  Linux
/dev/sda4           10524       11177     5249076+  8e  Linux LVM

lvm分区为/dev/sda4

#pvcreate /dev/sda4

#vgcreate myvg /dev/sda4

#lvcreate -n mydata -L 5G myvg

然后格式化逻辑卷:

#mke2fs -j /dev/myvg/mydata

在/下新建mysql的挂载目录:

#mkdir -p /data/mydata

挂载文件系统:

mount /dev/myvg/mydata /data/mydata

修改/etc/fstab以达到自动挂载:

#vi /etc/fstab

在最后一排添加:

/dev/myvg/mydata        /data/mydata            ext4    defaults        0 0

至此,数据文件目录挂载完毕

回到/usr/local/mysql目录

#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mydata

修改权限:

#chown mysql:mysql /data/mydata

#chown root:mysql /usr/local/mysql

至此数据库安装完毕。

#cd support-files/

#cp mysql.server /etc/init.d/mysqld

#chkconfig --add mysqld

#cp my-default.cnf /etc/my.cnf

#vi /etc/my.cnf

basedir = /usr/local/mysql
datadir = /data/mydata
port = 3306
socket = /tmp/mysql.sock

将原my.cnf修改为以上内容,其余暂时不变。

现在就可以用#service mysqld start|restart|stop|status来管理数据库了

修改环境变量:

#cd /etc/profile.d/

#vi mysql.sh

添加以下一行:

export PATH=$PATH:/usr/local/mysql/bin

保存后执行

#. ./mysql.sh

以后就可以直接运行/usr/local/mysql/bin下的命令了。

在从数据库上执行以上相同的操作即可。

*******************************************************

接下来是主从复制的配置:

在主服务器上

#vi /etc/my.cnf

使server_id = 1

log-bin = master-bin
log-bin-index = master-bin.index

在从服务器上

使server_id = 2

relay-log = relay-log
relay-log-index = relay-log.index

接着登陆主服务器:

执行

mysql>GRANT REPLICATION SLAVE ON *.* to 'caevox'@'192.168.245.%' identified by '123456';

mysql>flush privileges;

caevox是账号

123456是密码

登陆从服务器

mysql>

CHANGE MASTER TO MASTER_HOST='192.168.245.11',MASTER_USER='caevox',MASTER_PASSWORD='123456',MASTER_PORT=3306,MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS= 120;

mysql>start slave;

mysql>show slave status\G;

如果出现以下两行表示主从复制配置成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

注意:一定要是两个yes

配置成功后在主服务器上创建的数据,从服务器上也会有。

mysql5.6.22主从复制到这里就完毕了,有什么问题可以留言。谢谢。