注意:本文出自“阿飞”的博客
,如果要转载本文章,请与作者联系!
并注明来源: http://blog.sina.com.cn/s/blog_49fd52cf0100pog2.html
MySQL的主从同步是一个很成熟的架构,优点为:
①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;
②在从主服务器进行备份,避免备份期间影响主服务器服务;
③当主服务器出现问题时,可以切换到从服务器。
所以我在项目部署和实施中经常会采用这种方案.
+ 数据库目录及其它
my.cnf配置文件
/etc/my.cnf
mysql数据库位置
datadir=/var/lib/mysql
主数据库:192.168.2.119
从数据库:192.168.2.220
操作系统:RHEL5.x 32位
服务器类型: 虚拟机
+ mysql5.0.77 安装:
① 配置好linux的yum服务后,直接yum -y install mysql即可
附:安装php\mysql一条命令安装:yum -y install httpd php mysql
mysql-server php-mysql
② 启动MySQL
service mysqld start(restart|stop)
一、设置主库
1、修改主库my.cnf,主要是设置个不一样的id和logbin(#这部可依具体环境而定,压力大的化可采用huge.cnf)
[root@localhost etc]#vi /etc/my.cnf
# 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档
[mysqld]
log-bin=mysql-bin
server-id=1
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
2、启动主库生效
[root@localhost etc]service mysqld restart
3、登陆主库
[root@localhost etc]mysql -u root -p
4、赋予从库权限帐号,允许用户在主库上读取日志
mysql> grant all privileges on *.* to '用户名'@'%'
identified by '密码';
5、检查创建是否成功
select user,host from mysql.user;
6、锁主库表
mysql> flush tables with read
lock;
7、显示主库信息
记录File和Position,从库设置将会用到
mysql> show master status;
+------------------+----------+--------------+------------------+
| File
| Position | Binlog_Do_DB | Binlog_Ignore_DB
|
+------------------+----------+--------------+------------------+
| mysql-bin.000001 98 |
|
|
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
# 说明,如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。
8、另开一个终端登陆220,打包主库迁移数据(如果你使用的yum安装,有默认数据库并未做任何改动,则不需要进行拷贝)
目的是为了保证两台服务器的mysql数据库一致,这里可以自行tar打包或者使用mysqldump命令备份恢复的方式进行。
二、设置从库
1、传输拿到主库包、解包
# 登陆从库
从上一步中备份的数据库恢复到220服务器节点上。
2、在119节点上解锁主库表(对应第一点设置主库中第6步锁主库表的操作)
mysql> unlock tables;
3、在220节点上修改从库my.cnf(位置一样)
[root@localhost etc]vi my.cnf
# 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档
[mysqld]
log-bin=mysql-bin
server-id=2
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
master-host=192.168.2.119
master-user=root
master-password=pfingo
4、在220节点上验证连接主库
[root@localhost etc]mysql -h 192.168.2.119 -u 用户名
-p
5、在220节点从库上设置同步
#设置连接MASTER
MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position
#注意下面第二条命令语句中的master_log_file='mysql-bin.000001',
master_log_pos=98;对应为前面在主库中执行的show master status;结果
mysql> slave stop;
mysql> change master to
master_host='192.168.2.119',master_user='root',master_password='pfingo',master_log_file='mysql-bin.000001',
master_log_pos=98;
mysql> slave start;
6、启动从库服务
mysql> slave start;
7、进行测试
在主库上的test库上建立名为myTest的表
mysql> CREATE TABLE `myTest` (
`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 20 ) NOT NULL ,
`password` CHAR( 32 ) NOT NULL ,
`last_update` DATETIME NOT NULL ,
`number` FLOAT( 10 ) NOT NULL ,
`content` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
在从表中马上看到了效果,主从同步成功了;
为了更进一步验证在从库上输入show slave status\G;
mysql> show slave status\G;
Slave_IO_Running: Yes(网络正常);
Slave_SQL_Running: Yes(表结构正常)
进一步验证了以上过程的正确性。
分享到:
相关推荐
超详细的教程,一步步教你如何在树莓派上使用Mysql服务。
MySQL 是一个 DBMS(数据库管理系统),由瑞典MySQLAB 公司开发,目前属于 Oracle 公司,MySQL是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来...
ZZ-2022032 智能家居安装与维护赛项赛题.zip 中职赛项 适合正在准备技能大赛的人群
详细情况请看https://blog.csdn.net/RONNIE_Zz/article/details/115902973
本文实例讲述了PHP基于PDO扩展操作mysql数据库。分享给大家供大家参考,具体如下: SELECT //查单条 function get_sub_product() { $res_zz = $pdo->query("SELECT id FROM content WHERE is_publish = 0 LIMIT 1;...
编写目的学生考勤系统是 基于指纹平台开发的学生考勤系统软件。该软件用于 在校学生能够及时地自主签到,更好地适应学校师生共同监督。
ZZ-2022006 建筑智能化系统安装与调试赛项赛题. 中职赛项 适合正在准备技能大赛的人群
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
3.并在配置文件application-prd.properties和application-dev.properties里修改数据库配置信息,将数据库链接信息,账号密码全改成自己的 4.注意mysql的数据库版本,此项目是5.7,如果你使用mysql8,需要改变链接驱动 ...
ZZ-2022019 电气安装与维修赛项赛题 中职赛项 适合正在准备技能大赛的人群
php $link=mysql_connect(‘localhost’,’root’,’zz’) or die(mysql_error()); mysql_select_db(‘test’) or die(‘no db’); mysql_query(‘SET NAMES utf8’); echo 99; ?> 运行后报错 Can’t connect to ...
VisualStudio安装和配置zz[汇编].pdf
主要介绍了MySQL复制出错 Last_SQL_Errno:1146的解决方法,需要的朋友可以参考下
mysql/sql2000/sql2005/oracle数据库驱动包,包括数据库连接语句.
两个相同功能 差别在一个有前端微信小程序 一个没有详情请看:https://blog.csdn.net/RONNIE_Zz/article/details/115552043
建筑设备安装与调控(给排水)赛项赛题 中职赛项 适合正在准备技能大赛的人群
以应用程序的开发为核心,以具体实例展示如何将PHP和MYSQL紧密一,实现数据驱动WEB站点
http://blog.csdn.net/qq_34861102/article/details/76777783 这篇博客中描述的思维导图,可以根据需求下载,积分不够可以评论留邮箱
2021年全国职业院校技能大赛参赛选手备赛参照使用。
《校友信息管理系统设计》 目录 一. 系统需求分析 (一)系统背景 (二)功能需求分析 (三)业务需求分析 (四)系统需求分析 ... 总结与展望 (一) 总结 (二) 问题及解决办法 (三) 建议