##安装环境及版本:
- 系统:ubuntu 18.04 LTS
- mysql: 5.7
##一 MySql主从配置
#####1 安装mysql
1 安装
1 | sudo apt-get install mysql-server |
- 开启外网访问
1
2# sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
其中bind-address = 127.0.0.1注释了 - 授权用户远程访问
1
2
3//进入mysql命令行(root:root)
mysql> grant all on *.* to root@'%' identified by 'root';
flush privileges; - 虚拟机克隆一份
#####2 修改主服务器配置
- 修复mysqld.cnf配置并重启
vim /etc/mysql/mysql.conf.d/mysqld.cnf重启1
2
3
4[mysqld]
# 下面两行的注释放开
server-id = 1 #主数据库端ID号
log_bin = /var/log/mysql/mysql-bin.log #开启二进制日志1
# /etc/init.d/mysql restart
- 创建从服务器访问的权限账号
1
2
3
4#创建slave账号you,密码123456
mysql>grant replication slave on *.* to 'you'@'192.168.234.130' identified by '123456';
#更新数据库权限
mysql>flush privileges; - 查看主服务器状态
1
show master status;
#####3 修改从服务器配置
- 修复mysqld.cnf配置并重启
vim /etc/mysql/mysql.conf.d/mysqld.cnf1
2
3
4[mysqld]
# 下面两行的注释放开
server-id = 2 #主数据库端ID号,和从数据不能重复
log_bin = /var/log/mysql/mysql-bin.log #开启二进制日志 - 执行同步命令
1
2
3
4
5
6
7
8#设置主服务器ip,账号密码,同步位置(同上图标记)
mysql>change master to master_host='192.168.234.129',
master_user='you',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=602;
#开启同步功能
mysql>start slave; - 查看 slave 从库
1
mysql> show slave status\G;
##二 MyCat配置
- 配置安装
官网下载:http://dl.mycat.io
文件说名:
- server.xml MyCat 的配置文件,设置账号、参数等
- schema.xml MyCat 对应的物理数据库和数据库表的配置
- rule.xml MyCat 分片(分库分表)规则
- 配置schema.xml,多余的可以删除
1
2
3
4schema name="ego": 要操作的数据库逻辑名
table name="test": 要操作的表的逻辑名
writeHost: mysql的连接信息
readHost: mysql的连接信息 - 配置 server.xml,连接macat的信息
1
2
3
4
5<user name="root" defaultAccount="true">
<property name="password">123456</property>
# 要操作的数据库逻辑名,对应上面的配置
<property name="schemas">ego</property>
</user> - 启动
1
./bin/mycat start
- 测试mycat与测试mysql完全一致,mysql怎么连接,mycat就怎么连接。
1
2//mycat 默认端口8806
mysql -uroot -p123456 -P8066 -h127.0.0.1