三台虚拟机,两台虚拟机搭建主从数据库,一台做客户端。
参考搭建主从数据库1~3和第五步步骤。
修改主机名 主:db1 从:db2 客户端为:mycat
该三台虚拟机进行域名解析:
vi /etc/hosts
192.168.150.100 db1
192.168.150.110 db2
192.168.150.120 mycat
给两台节点配置yum源(vi /etc/yum.repos.d/local.repo 内容如下:
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[yum]
name=yum
baseurl=file:///opt/gpmall-repo
gpgcheck=0
enabled=1
清除缓存:yum clean all
yum repolist
db1,,db2..两个个节点安装mariadb服务并重启服务:
yum install mariadb-server –y
Systemctl restart mariadb
mycat节点安装辅助包:yum install bash-completion -y
安装java软件包:yum install java
Yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel.x86_64 -y
Java -version
修改db1节点配置文件:vi /etc/my.cnf
[mysql]
server_id=100
log_bin=mysql-bin
binlog-ignore-db=keystone
修改db2节点配置文件:vi /etc/my.cnf
[mysql]
server_id=110
log_bin=mysql-bin
binlog-ignore-db=keystone
重新启动服务:systemctl restart mariadb
两节点都操作:mysql_secure_installation(一直点y,密码为000000)安装数据库
这里是:n 意思是:
db1: mysql -uroot -p000000
进入数据库
create user ‘zhao’@’%’ identified by ‘000000’;
grant replication slave on *.* to ‘zhao’@’%’ ;
show master status
db2: mysql -uroot -p000000
change master to master_host=’192.168.150.100’,master_user=’zhao’,master_password=’000000’,master_log_fire=’mysql-bin.000002’,master_log_pos=659;
start slave;
查询结果
show slave status\G;
Mycat节点:查询java版本 :Java -version
解压软件包:tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -c /usr/local/
Cd /usr/local/
Ls
Chown 777 /usr/local/mycat/
Ll
Chown root /usr/local/mycat/
Chomd 777 mycat/
Chomd 777 mycat/ -R
Ll
Cd conf/
Ls
修改第一个配置文件:vi /schema.xml(/usr/local/mycat/conf/schema.xml)
Name=’testdb’改为userdb
Database=’db$0-743’改为test
Writehost host=’hostM1’ url=’loalhost:3306’ user=’root’改为Writehost host=’hostM1’ url=’192.168..150.100:3306’ user=’root’
Readhost那个url=;192.168.150.110:3306 password=’123456’
(修改schema.xml的用户权限:chown root:root/usr/local/conf/schema.xml)
第二个:vi server.xml
删除最后四行
改为userdb
/bin/bash /usr/local/mycat/bin/mycat start
Yum install net
Yum install net-tools.x86_64 -y
Netstat -ntlp
有8066和9066两个端口
验证读写分离
在mycat虚拟机上安装maeiaDB-client服务
Yum intall –y MariaDB-client
Mysql –uroot –p000000
Show database;
Use USERDB;
Show tables;
Select *from company;
(2). 在MYcat虚拟机上使用sql命令对表company添加一条数据(2,“basketall”,”usa”),添加完毕后添加表信息
insert into company values(2,”bastetball”,”usa”);
select * from company;
验证mycat服务对数据库读写操作分离,使用MySQL命令通过9066端口查询对数据库读写操作的分离信息
Mysql –h (mycat ip) –P9066 –uroot –p123456 –e ‘show @@datasource;’
授权在任何客户端机器上可以以root用户登录数据库
Grant all privileges on *.* to root@’%’ identified by “123456”
创建一个user用户让从节点db2连接并赋予从节点同步主节点数据库的权限
Grant replication slave on *.* to ‘user’@’db2’identified by ‘123456’