--------------------------主从复制、读写分离、分库分表--------------------------------
一、mysql的安装
- 1、下载rpm文件
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 2、安装rpm文件
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
- 3、安装mysql
yum -y install mysql-community-server --nogpgcheck
- 4、测试
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld
systemctl stop mysqld
systemctl restart mysqld
- 5、查找密码
grep "password" /var/log/mysqld.log
- 6、复制密码并登录数据库
mysql -u root -p
- 7、修改密码策略
mysql> SET GLOBAL validate_password_policy=LOW;
mysql> SET GLOBAL validate_password_length=4;
- 8、修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1111';
- 9、开启远程连接
mysql> use mysql;
mysql> select User,Host from user;
mysql> update user set host ="%" where user = "root";
mysql> flush privileges;
二、mysql主从复制
- 1、原理
主:log_bin
从:IO线程读取日志,SQL线程根据日志同步数据 - 2、配置步骤
- 主:
1、开启日志并修改server_id
vim /etc/my.cnf
:
log_bin=master_log
server_id=1
2、重启mysql
systemctl restart mysqld
3、查看master的状态
mysql> show master status;
- 从:
1、修改server_id
vim /etc/my.cnf
:
server_id=2
2、修改uuid
vim /var/lib/mysql/auto.cnf
:
server-uuid=xxxxxxxxx3
3、重启mysql
systemctl restart mysqld
4、修改slave的状态
mysql> stop slave;
mysql> change master to master_host='192.168.204.137',master_user='root',master_password='1111',master_log_file='master_log.000001';
mysql> start slave;
5、查看slave的状态
mysql> show slave status \G;
- 主:
三、MyCat
- 1、什么是MyCat?
是一个国产的数据库中间件,前身是阿里的cobar,作用是分库分表和读写分离 - 2、分库分表
分库(垂直分割):把power_shop拆分到3个mysql节点上
分表(水平分割):把tb_item拆分到3个mysql节点上 - 3、mycat的安装和启动
- 1、安装
cd /usr/upload
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local
- 2、启动和关闭
cd /usr/local/mycat/bin
启动命令:./mycat start
停止命令:./mycat stop
重启命令:./mycat restart
查看状态:./mycat status
- 3、MyCat的概念
逻辑库(schema):逻辑上完整的库
逻辑表(table):逻辑上完整的表
数据主机(dataHost):服务器
数据节点(dataNode):服务器上的mysql
分片规则(rule):拆分规则 - 4、mycat的配置文件有哪几个?作用是什么?
schema.xml:逻辑库、逻辑表、数据节点
rule.xml:拆分规则
server.xml:用户名和密码
- 1、安装