登录  /  注册

Mysql的主从服务器架构配置

高洛峰
发布: 2016-12-02 14:52:00
原创
1123人浏览过

所谓主从mysql服务器架构,就是在主服务器上的操作同时也拷贝一份到从服务器上来。
接下来我使用两台机器做一下这个过程,
复制的作用:
  1.数据分部
  2.实现读的负载均衡
  3.备份(本身不能备份,但是能提供一个备份机)
  4.高可用和故障转移的能力
  5.测试mysql的升级 
复制的类型:
a.基于语句的复制
b.基于行的复制
c.混合型的复制(a和b的结合)
服务器的地址规划
主服务器ip:192.168.1.108
从服务器ip:192.168.1.110
实验拓扑结构:
master_mysql-----------------client_mysql
1.安装mysql
#mkdir -vp /mydata/data
#groupadd -g 3306 mysql     
#useradd -g mysql -s /sbin/nologin -m -u 3306 mysql     
#chown -r  mysql:mysql  /www/mydata/     
# tar x mysql-5.5.15-linux2.6-i686.tar.gz  -c  /usr/local     
#ln -vs /usr/local/mysql-5.5.15-linux2.6-i686  /usr/local/mysql     
#cd /usr/local/mysql     
#chown -r mysql:mysql .     
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#chown -r root .     
#cp support-files/mysql.server /etc/init.d/mysqld      
#chkconfig --add mysqld     
#cp support-files/my-large.cnf /etc/my.cnf    
#vim /etc/my.cnf         
添加:datadir=/mydata/data     
service mysqld start     
指定mysql二进制的文件:       
#export path=$path:/usr/local/mysql/bin(临时)       
#vim /etc/profile        
添加path=$path:/usr/local/mysql/bin也行(永久)     
指定lib文件      
#vim /etc/ld.so.conf.d/mysql.conf         
添加: /usr/local/mysql/lib      
ldconfig 同步一下        
#ldconfig -v | grep mysql      
头文件:         
#ln -sv /usr/local/mysql/include /usr/include/mysql      
帮助信息:         
#vim /etc/man.config            
添加:  manpath /usr/local/mysql/man   
这下配置需要在两个服务器上都需要进行配置的
2.接下来开始真正的主从mysql服务器的配置了
主服务器的配置如下
#vim /etc/my.cnf  添加如下信息
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=maxed
server id = 1
修改完成后保存,重启mysql
#service mysqld restart
然后登录到mysql对192.168.1.110主机授权
#mysql
mysql> grant replication client,replication slave on *.* to repl@'192.168.1.110'identified by 'redhat';
mysql> flush privileges;
3.从文件配置
#vim /etc/my.cnf
注释掉log-bin=mysql-bin,binlog-format=maxed
添加relay-log=relay-bin.index,relay-log=relay-bin,replicate-ignore-db =mysql
修改server-id = 2
保存配置文件后重新启动mysql
#service mysqld restart
#mysql
mysql> change master to master_host='192.168.1.108',master_user='repl',master_password='redhat';
mysql> start slave;
mysql> show slave status\g;查看从服务器的运行状态
如果出现如下信息,可以确定信息已经从主服务器上复制到了从服务器

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| luowei             |
| mysql              |
| performance_schema |
| test               |
+--------------------+
mysql> SELECT * FROM st;
+----+------+
| ID | Name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  5 | E    |
+----+------+
这个时候主从服务器上的数据库就同步了,实验成功!!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号