----------------------------------------
1,网络:192.168.X.130(master),192.168.X.131(slave)
5, 关闭防火墙 # systemctl stop firewalld.service
# systemctl disable firewalld.service
# firewall-cmd --permanent--zone=public --add-port=3306/tcp
# firewall-cmd --permanent --zone=public--add-port=3306/udp
# firewall-cmd --reload #设置新的防火墙规则生效
----------------------------------------
准备两台Centos7环境的虚拟机,我用的两台:192.168.X.130(master),192.168.X.131(slave)
b. 下载mysql的repo源(下载-安装-配置-起服务)
# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
d. 安装数据库 # yum install mysql-server
# grep "password" /var/log/mysqld.log
# cat /var/log/mysqld.log |grep password
>set password=password('数据库新密码');
================================
a. 修改Master的配置# /etc/my.cnf,并重启mysql
b. 查记录File与Position的值,此处的查询结果,将在下面Slave建立与Master联系时用到。
>grant replication slave, reload, super on *.* to 'repl'@'192.168.X.131' identified by 'password';
--------------------增加访问权限后期检验使用:
>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
>GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
-> master_host='192.168.X.130',
-> master_password='password',
-> master_log_file='mysql-bin.00000X',
>change master to master_host='192.168.X.130',master_port=3306,master_user='repl',master_password='password',master_log_file='mysql-bin.00000X',master_log_pos=XXX;
--------------------增加访问权限后期检验使用:
>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
用数据库连接工具同时连接Master和Slave,在Master里面创建数据库Test,并创建表user。此时可以看到Slave也出现了Test数据库和Test。向user表添加数据效果也一样。
可以看到数据已经插入。记录已经存在,到这里整个主从复制的过程就完成了。
1、下载JDK环境包:jdk-8u11-linux-x64.tar.gz
b、在/etc/proflie配置java环境变量及mycat Home路径
b、我下载的是Mycat-server-1.6-RELEASE-20161028204710-linux.tar
b、 在/etc/profile配置java环境变量及mycat Home路径
<property name="password">user</property>
<property name="schemas">Test</property>
<property name="readOnly">flase</property>
schemas 中的Test是逻辑数据库,对应schema.xml
-------------------------------------
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
<dataNode name="dn1" dataHost="localhost1" database="TESTDB" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.X.130:3306" user="root"
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.X.131:3306" user="root" password="数据库密码" />
----------------------------------------------------
#/mycat/bin/mycat start #对比自己的安装路径
-------------------------------------
-------------------------------------
# mysql -uroot -p123456 -h127.0.0.1 -P8066
或者用Navicat Preminum (防火墙和mysql访问权限)连接。
1) , 进去会有初始化后的TESTDB数据库(新建数据表TESTDB,加入ID,NAME表单);
1),在从库的TESTDB插入一条数据(生产环境不建议这样测试);