设为首页 收藏本站
查看: 598|回复: 0

[经验分享] Mysql的主从复制读写分离--简单篇

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-7 08:51:18 | 显示全部楼层 |阅读模式
Mysql基础拓扑图:
wKioL1Xr9GGS_ppoAAE_lZxWv1w826.jpg
Mysql环境准备:
一台mysql主服务器(安装mysql)
两台mysql从服务器(安装mysql)
一台mysql代理(安装amoeba和java)
一台mysql客户端(mysql客户端)

部署前先关闭所有的iptables,selinux
wKioL1Xr-DXwUT65AAEThvZK0QU107.jpg

Mysql的主从复制读写分离所需安装包:
cmake-2.8.6.tar.gz   

mysql-5.5.22.tar.gz
amoeba-mysql-binary-2.2.0.tar.gz
jdk-7u65-linux-x64.tar.gz
jdk-6u14-linux-x64.bin
ncurses-devel


部署一个时间服务器来进行时间同步:
yum -y install ntp

编辑配置文件添加如下行:
server 127.127.1.0
fudge 127.127.1.0 stratum 8
wKiom1Xr9PmidTetAAIjMt-xhlo436.jpg
重启服务:
wKioL1Xr93_hKC4pAABthFx3G88403.jpg
客户端安装软件同步:
yum -y install ntp-date
/usr/sbin/ntpdate 99.99.99.22
wKioL1Xr-NOy9bx5AACmi6jBW-I891.jpg



安装mysql独特的编译安装软件cmake:
tar zxf /root/cmake-2.8.6.tar.gz -C /root/
cd /root/cmake-2.8.6
./configure && gmake && gmake install


安装mysql依赖包:
yum -y install ncurses-devel

编译安装mysql

tar zxf /root/mysql-5.5.22.tar.gz -C /usr/src
cd /usr/src/mysql-5.5.22
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all
make && make install

授权数据库用户:
useradd -M -s /sbin/nologin mysql -g mysql
chown -R mysql:mysql /usr/local/mysql


初始化数据库:

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

优化数据库
cp -rf /usr/src/$MY_Q/support-files/my-medium.cnf /etc/my.cnf
cp -rf /usr/src/$MY_Q/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

启动数据库并设置密码:

echo "PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile
/etc/init.d/mysqld start
mysqladmin -uroot password '123123'

配置Mysql主服务器
vim /etc/my.cnf
server-id       = 11   #改

log-bin=master-bin  #改

log-slave-updates=true   #添加
wKioL1Xr_ETzMvlAAAE1xD8Dnss071.jpg
重启服务:
/etc/init.d/mysqld restart
wKiom1Xr-mvCwWNLAACHm3Yqql0554.jpg

登陆Mysql给服务器授权
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[iyunv@cjl ~]# mysql -uroot -p123123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.22-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>grant replication slave on *.* to 'myslave'@'99.99.99.%' identified by '123123';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> show master status ;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000002 |      336 |              |                  |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)



wKioL1Xr_wXyre1PAAPdCtfVTfA908.jpg
从服务器的数据库与主服务器一致,不需要配置任何命令。

配置第一个从服务器添加如下行:
vim /etc/my.cnf
server-id       = 22   #改
relay-log=relay-log-bin   #添加
relay-log-index=slave-relay-bin.index  #添加
wKiom1Xr_eqjQawjAAFCV-bBNC4636.jpg
重启服务:
service mysqld restart
wKioL1XsAJTDdzYYAAB-sYSfvQM129.jpg
配置数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@cjl ~]# mysql -uroot -p123123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.22-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> change master to master_host='99.99.99.22',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=336;
start slave;
show slave status\G;
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes



wKioL1XsAabh6P3CAAPkuI6IoRA303.jpg
配置第二个从服务器添加如下行:
vim /etc/my.cnf
server-id       = 33  #改
relay-log=relay-log-bin   #添加
relay-log-index=slave-relay-bin.index  #添加
wKiom1XsEinSpu5hAAHzPIrM7KU348.jpg
重启服务:
/etc/init.d/mysqld restart
wKioL1XsFPODqVWqAACA6eR8TfM792.jpg
配置mysql数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@cjl ~]# mysql -uroot -p123123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.22-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> change master to master_host='99.99.99.22',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=336;
start slave;
show slave status\G;
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes



wKioL1XsFB-yoLqwAAM3DggNPGI909.jpg
验证主从复制的效果
登陆主服务器,创建数据库:
wKiom1XsEyfTDYaeAAELoTFk-y0710.jpg
从服务器查看:
wKiom1XsE1SCslGdAADHUqiEFTI651.jpg

实现Mysql的读写分离(待续):

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-110377-1-1.html 上篇帖子: MySQL(十五)之基于ssl加密搭建含有gtid特性的MySQL主从复制 下篇帖子: 安装mysql报curses的解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表