首先配置主从复制
1.安装ntp
yum -y ntp
修改ntp的配置文件
[root@centos ~]# vim /etc/ntp.conf
设置ntp开机自动启动
两台从服务器同步时间
安装mysql
安装依赖配置文件
挂载光盘
mount /dev/cdrom /mnt
将mysql解压到/usr/src下
[root@centos ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src
将mysql复制到192.168.100.20和192.168.100.30中
[root@centos ~]# scp /mnt/mysql-5.5.22.tar.gz root@192.168.100.20:/usr/src
[root@centos ~]# scp /mnt/mysql-5.5.22.tar.gz root@192.168.100.30:/usr/src
进入到 /usr/src/mysql-5.5.22/中
cd /usr/src/mysql-5.5.22/
使用cmake编译
[root@centos mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc
然后执行编译安装
make && make install
[root@centos mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@centos mysql-5.5.22]# rm -rf /etc/my.conf
[root@centos mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos mysql-5.5.22]# chmod +x /etc/init.d/mysqld
优化mysql:命令优化
[root@centos mysql-5.5.22]# vim /etc/profile
[root@centos mysql-5.5.22]# source /etc/profile
初始化mysql
[root@centos ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
启动mysql
[root@centos ~]# chkconfig --add mysqld
[root@centos ~]# chkconfig --level 35 mysqld on
[root@centos ~]# systemctl start mysqld
监听mysql的端口3306
[root@centos ~]# netstat -anptu |grep 3306
配置mysql数据库的密码
[root@centos ~]# mysqladmin -uroot password 'pwd@123'
登录mysql数据库
[root@centos ~]# mysql -uroot -ppwd@123
三台mysql全部配置完成
接下来配置主mysql的配置文件
在末行模式输入:%g/^$/d 是删除此配置文件中以空行开头的行
%g/^#/d 删除以#开头的行
[root@centos ~]# vim /etc/my.cnf
16 log-bin=mysql-bin //开启二进制日志
18 server-id = 10 //设置mysql服务器ID
19 log-slave-update=true //开启日志复制功能
保存退出
重启mysql
systemctl restart mysqld
修改从服务器主配置文件
vim /etc/my.cnf
[root@centos02 ~]# vim /etc/my.cnf
16 log-bin=mysql-bin
18 server-id = 20
19 relay-log=relay-log-bin
20 relay-log-index=slave-relay-bin.index
然后重启mysql数据库
配置主从复制
登录mysql
[root@centos ~]# mysql -uroot -ppwd@123
创建slave账户,密码为pwd@123
mysql> grant replication slave on *.* to 'slave'@'192.168.100.%' identified by 'pwd@123';
查看mysql状态
mysql> show master status;
配置从mysql复制账户
mysql> change master to master_host='192.168.100.10',master_user='slave',master_password='pwd@123'
,master_log_file='mysql-bin.000004',master_log_pos=263;
查看从mysql复制进程
mysql> start slave
查看从mysql复制状态
mysql> show slave status\G;
测试主从复制
在databasrs中创建benet
在两台从服务器中查看databases
完成
配置读写分离
首先修改host文件
[root@centos ~]# vim /etc/hosts
安装jdk
cp /mnt/jdk
./jdk
[root@centos ~]# mv jdk1.6.0_14/ /usr/local/java
创建amoeba位置目录
[root@centos ~]# mkdir /usr/local/amoeba
解压amoeba
[root@centos ~]# mkdir /usr/local/amoeba
配置环境变量
[root@centos ~]# vim /etc/profile.d/java.sh
查看jdk版本
复制配置文件
[root@centos ~]# cp /usr/local/amoeba/conf/amoeba.xml /usr/local/amoeba/conf/amoeba.xml.bak
修改配置文件
10 <property name="port">8066</property> //访问amoeba端口
27 <property name="user">amoeba</property> //登录amoeba账户
28 <property name="password">pwd@123</property> //登录amoeba密码
111 <property name="defaultPool">master</property>
113 <property name="writePool">master</property> //主mysql
114 <property name="readPool">slaves</property> //读取组名字slaves
115 <property name="needParse">true</property>
修改配置文件添加读写节点
[root@centos ~]# vim /usr/local/amoeba/conf/dbServers.xml
19 <property name="port">3306</property> //amoeba访问mysql端口
22 <property name="user">write</property> //amoeba访问mysql账户
23 <property name="password">pwd@123</property> //amoeba访问mysql密码
38 <dbServer name="master" parent="abstractServer">
39 <factoryConfig>
40 <property name="ipAddress">192.168.100.10</property>
41 </factoryConfig>
42 </dbServer>
43
44 <dbServer name="slave01" parent="abstractServer">
45 <factoryConfig>
46 <property name="ipAddress">192.168.100.20</property>
47 </factoryConfig>
48 </dbServer>
49
50 <dbServer name="slave02" parent="abstractServer">
51 <factoryConfig>
52 <property name="ipAddress">192.168.100.30</property>
53 </factoryConfig>
54 </dbServer>
55 <dbServer name="slaves" virtual="true">
56 <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
57 <property name="loadbalance">1</property>
58 <property name="poolNames">slave01,slave02</property>
59 </poolConfig>
60 </dbServer>
启动
[root@centos ~]# /usr/local/amoeba/bin/amoeba start&
成功