文章目录
一、主从复制
-
MySQL集群中用于同步数据,主服务器和从服务器,从服务器上的数据是从主服务器上进行同步
-
准备两台MySQL
二、读写分离
-
主要目的是将数据库的读和写的操作分离开来,一般也是和主从复制一并使用(冗余问题)
-
读写分离解决的是负载问题
-
准备三台台MySQL
一、主从复制配置
配置
一、准备两台CentOS。(主ip192.168.174.128 从192.168.174.133)每个人都不一样
#下载需要的工具
yum -y install vim net-tools wget
#下载安装mysql5.7版本
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
#由于是rpm包,使用rpm安装
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
#修改版本,将5.7版本开启,8.0版本关闭
vim /etc/yum.repos.d/mysql-community.repo
#然后:wq 保存
#生成缓存,安装启动mysql
yum makecache
yum -y install mysql-community-server
systemctl start mysqld
#在mysql日志文件中寻找初始随机密码假设为abc
grep password /var/log/mysqld.log
#登录数据库并修改密码(如果密码有特殊符号比如(),需要进入交互模式输入密码)
mysql -uroot -pabc
mysql> alter user user() identified by 'P-0p-0p-0';
#刷新
flush privileges;
二、配置时间同步
#主从都下载ntp时间服务器
yum -y install ntp
主服务器
#编辑主服务器ntp文件
vim /etc/ntp.conf
#最后一行添加
server 127.127.1.0
fudge 127.127.1.0 stratum 8
#启动时间服务器
systemctl start ntpd
从服务器
#同步主服务器时间
ntpdata 192.168.174.128
三、主服务器配置文件
#在主配置文件中添加内容
vim /etc/my.cnf
#在最后一行下方添加
server-id = 11
log_bin = master-bin #主服务器生成二进制日志的名字前缀
log-slave-updates = true #允许从服务器读取更新二进制日志文件
#重启mysqlsystemctl restart mysqld
#进入mysql,授权从服务器用户复制权限,刷新
mysql -uroot -pP-0p-0p-0
grant replication slave on *.* to 'zhangsan'@'192.168.174.133' identified by 'P-0p-0p-0';
flush privileges;
查看主服务器状态;
show master status;
四、从服务器配置
#在从配置文件中添加内容
vim /etc/my.cnf
#在最后一行下添加
server-id = 22
relay-log = relay-log-bin #中继日志的文件名前缀
relay-log-index = slave-relay-bin.index #专门用来记录中继日志
:wq#重启MySQL服务器
systemctl restart mysqld
#在从服务器中开始同步主服务器
mysql -uroot -pP-0p-0p-0
change master to master_host='192.168.174.128',master_user='zhangsan',master_password='P-0p-0p-0',master_log_file='master-bin.000001',master_log_pos=1491;
#开启从服务,查看状态
start slave;
show slave status\G;
#两个yes表示成功了
二、读写分离
一、在主从复制基础上,再开一台CentOS部署amoeba
#安装jdk并配置环境变量
下载jdk1.6版本
#添加执行权限
chmod +x jdk-6u14-linux-x64.bin
#开始执行文件
./jdk-6u14-linux-x64.bin #一直空格,然后yes,最后回车
#将文件移动到/usr/local/jdk1.6目录下
mv jdk1.6.0_14/ /usr/local/jdk1.6
#添加java环境
vim /etc/profile
#在最后一行下添加
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/bin
export AMOEBA_HOME=/usr/local/amoeba/
export PATH=$PATH:$AMOEBA/bin#立刻执行文件
source /etc/profile
二、部署amboeba
#下载amoeba,我下的2.2.0版本
amoeba Activity (sourceforge.net)
#在/usr/local/目录下创建amoeba目录
mkdir /usr/local/amoeba
#将amoeba解压到创建的目录下
tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
-
在主服务器上登录MySQL,授权用户给amoeba服务器使用
grant all on *.* to 'zhangsan'@'192.168.137.131' identified by 'P-0p-0p-0';
flush privileges;
#修改amoeba主配置文件
vim /usr/local/amoeba/conf/amoeba.xml
-
修改amoeba的后端MySQL数据库服务器配置文件
vim /usr/local/amoeba/conf/dbServers.xml
-
启动amoeba服务器
/usr/local/amoeba/bin/amoeba start
- 验证
netstat -anpt
#8066 java程序 启动就ok了
#需要一台客户端机器,在客户端上连接amoeba服务器,用navicat连接
连接名:192.168.137.131(amoeba服务器IP)
主机:192.168.137.131(amoeba服务器IP)
端口:8066
用户名:amoeba
密码:P-0p-0p-0
登录上就完成了
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。