48.MYSQL的主从与读写分离
admin
2023-03-17 23:01:29
0

linux企业级知识点总结

Mysql主从复制与读写分离原理图 

Mysql的主从复制:从服务器在主服务器上自动同步数据。

Mysql的读写分离:通过amoeba服务器控制用户读数据在从服务器上进行,写数据从主服务器上进行,这样可以做到负载均衡。


 

搭建mysql主从复制:

建立时间同步环境

#yum -y install ntp

#vim /etc/ntp.conf

修改相关内容:

Server  127.127.1.0

Fudge   127.127.1.0  stratum  8

#service ntpd restart

#yum -y install ntpdate

#/usr/sbin/ntpdate  1.1.1.1

安装mysql数据库

# yum -y install ncurses-devel

# yum -y install cmake

# tar xzvf mysql-5.5.22.tar.gz

# cd mysql-5.5.22

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all  -DSYSCONFDIR=/etc

#make && make install

#useradd  mysql  -s  /sbin/nologin  -M  -g  mysql

# chown -R mysql.mysql  /usr/local/mysql/

# cp /usr/local/mysql/support-files/my-medium.cnf  /etc/my.cnf

# cd /usr/local/mysql/scripts/

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

# . /etc/profile

# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

#service mysqld start

# mysqladmin -u root password  123

修改master主服务器配置文件

#vim /etc/my.cnf

server-id  =  11

log-bin=master-bin

log-slave-updates=true

重启服务

#Service mysqld restart

登陆mysql数据库,给从服务器授权

#mysql -u root -p123

Mysql>GRANT REPLICATION SLAVE ON *.* TO ren@1.1.1.% IDENTIFIED BY 123;

Mysql>FLUSH PRIVILEGES;

Mysql>show master status;

注:*.*表示所有数据库下所有表

 

配置从服务器

#vim /etc/my.cnf

修改内容:

Server-id = 22

Relay-log=relay-log-bin

Relay-log-index=slave-relay-bin.index

注:这里的ID号不能与主服务器相同

重启服务

#service  mysqld restart

登陆mysql配置同步

#mysql -u root -p123,

Mysql>change master to master_host=1.1.1.1,master_user=ren ,master_password=123,

 master_log_file=master-bin.000001,master_log_pos=339

启动同步

Mysql>start slave;

Mysql>show slave status\G;

验证方法:在主服务器上创建一个新的数据库,在从服务器上查看是否同步过来。

Mysql的读写分离

搭建amoeba服务器

安装JAVA环境

# chmod +x jdk-6u14-linux-x64.bin

# ./jdk-6u14-linux-x64.bin

# mv jdk1.6.0_14/  /usr/local/jdk1.6

#vim /etc/profile

添加内容:

export JAVA_HOME=/usr/local/jdk1.6

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export AMOEBA_HOME=/usr/local/amoeba/

export PATH=$PATH:$AMOEBA_HOME/bin

#source /etc/profile

#java -version

安装amoeba软件

#mkdir /usr/local/amoeba

#tar xzvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba

#chmod -R  755  /usr/local/amoeba

配置masterslave1salve2服务器开放权限给amoeba访问

Grant  all on *.* to test@1.1.1.% identified by 123;

编辑配置amoeba.xml配置文件,指定amoeba的用户名和密码,指定读写服务器。

#vim /usr/local/amoeba/conf/amoeba.xml

                        

                                

                                      amoeba

 

                                        123

                                        

                                                

                                                        ${amoeba.home}/conf/access_list.conf

                                                

                                        

                master

                master

                slaves

编辑配置dbservers.xml配置文件,指定访问的数据库的账号和密码,指定主从服务器

#vim /usr/local/amoeba/conf/dbServers.xml

                        

                        test

                        123

        

                

                        

                        1.1.1.1

                

        

        

                

                        

                        1.1.1.2

                

        

        

                

                        

                        1

                        

                        slave1,slave2

                

        

启动amoeba软件

#/usr/local/amoeba/bin/amoeba start

验证方法:master服务器上写入数据同步到slave读服务器上,然后slave读服务器关闭同步,自己增加相关表中内容,然后使用客户端连接测试是否能成功在slacve服务器上读取内容。

关闭同步:Mysql>stop  slave;

 


相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...