本实验在虚拟机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主从复制到这里就完毕了,有什么问题可以留言。谢谢。