我的mysql的安装在哪个虚拟机?
mysql01和mysql02
集群主从同步:数据库的从是不对外提供服务的。通过二进制日志进行机器的同步。
第一步:安装mysql,看之前文档就可以了。
第二步:
mysql的启动:service mysqld start
mysql的停止:service mysqld stop
mysql的重启:service mysqld restart
第三步:修改my.conf vi/etc/my.cnf
主机:
#启用二进制日志
log-bin = mysql-bin
#本机器的id
server-id = 140
从机:
server-id = 141
第四步:
主机给从服务器配置授权
写的sql
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.244.141' identified by '123456';
第五步:
主机刷新权限
FLUSH PRIVILEGES;
第六步:
查看master的状态:
show master status;
systemctl restart mysqld;
第七步: 注意上一步额截图是490,文件是000002,我们在从服务器要配置的。
从机写sql:
change master to
master_host='192.168.202.140',
master_port=3306,
master_user='root',
master_password='123456',
master_log_file='mysql-bin.000017',
master_log_pos=120;
第八步:启动从服务器的复制功能:
start slave;
第九步:检查从服务器的状态
show slave status \G;
第十步:关闭主从服务器的防火墙。
systemctl stop iptables(需要安装iptables服务)
systemctl stop firewalld(默认)
systemctl disable firewalld.service(设置开启不启动)
第11步:解决UUID重复问题
rm -rf /var/lib/mysql/auto.cnf
注意:从是可以写的,但是不能同步主,从要设置只读(我们要自己设置)。
-----------------------------------------------------------------------------------------------------------------------
搭建读写分离:
我们在从机的服务器搭建Mysql-Proxy
详细:https://www.cnblogs.com/jipinglong/p/11227000.html
安装在192.168.244.142机器。
第一步:下载
wget https://cdn.mysql.com/archives/mysql-proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz
第二步:解压,修改名字
tar -xf XXXXXX
mv XXXXXX mysql-proxy
第三步:创建配置文件
创建mysql-proxy.cnf配置文件。
我的路径为:
/usr/local/apps/mysqlproxy/mysql-proxy
[mysql-proxy]
#用户名
user=root
#admiin的用户名
admin-username=root
#admin的密码
admin-password=123456
#proxy的地址
proxy-address=192.168.244.142:4040
#主机地址
proxy-backend-addresses=192.168.244.140:3306
#从机地址
proxy-read-only-backend-addresses=192.168.244.141:3306
#读写分离的脚本要指定好的
proxy-lua-script=/usr/local/apps/mysqlproxy/mysql-proxy/share/doc/mysql-proxy
/rw-splitting.lua
#随便指定目录
log-file=/usr/local/apps/mysqlproxy/mysql-proxy/logs/mysql-proxy.log
log-level=debug
keepalive=true
配置文件我们随便写到一个路径就可以,以后需要指定的。
第四步:修改权限
chmod 660 mysql-proxy.cnf
第五步:
修改rw-splitting.lua脚本
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1,
max_idle_connections = 2,
is_debug = false
}
end
第六步启动:
./mysql-proxy --defaults-file=/usr/local/apps/mysqlproxy/mysql-proxy/mysql-proxy.cnf
第七步:连接
mysql -uroot -p -h192.168.244.142 -P4040
可以配置:
---------------------------------------------------------------------------------------------------------------------------------------------
数据库的分库分表:
垂直切分:表分在别的库里面。
---------------------------------------------------------------------------------------------------------------------------------------------
分库分表:
mycat安装:https://blog.csdn.net/yu342107056/article/details/88326540
mycat下载:https://www.cnblogs.com/573734817pc/p/10156187.html
我们在192.168.244.142上安装mycat:/usr/local/apps/mycat/
在141上也安装一份。
第一步:启动
- 启动命令:./mycat start
- 停止命令:./mycat stop
- 重启命令:./mycat restart
- 查看状态:./mycat status
第二步:连接
实测为9066
密码是123456,在server.xml看的。
第三步:三个配置文件看下文档
这个是列的名称。
schema是最重要的。
我们在141上测试一下: