linux mysql 生产库,生产环境下的MySQL数据库主从同步总结

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。所以我在项目部署和实施中经常会采用这种方案;鉴于生产环境下的mysql的严谨性,我这里推荐采用张宴兄的MySQL源码编译的方法;

数据库目录及脚本位置

my.cnf配置文件     /data/mysql/3306/my.cnf

mysql数据库位置    /data/mysql/3306/data

mysql管理脚本      /data/mysql/3306/mysql

主数据库:192.168.110.64

从数据库:192.168.110.62

操作系统:RHEL5.4 64位

服务器类型: HP 580G5,双四核XeonE5520,32G内存,4块300GSAS做成RAID10

一、设置主库

1、修改主库my.cnf,主要是设置个不一样的id和logbin

#vim /data/mysql/3306/my.cnf

server-id = 1

log-bin= binlog

binlog-do-db=iea

2、重启主库生效

#/data/mysql/3306/mysql restart

3、登陆主库

#/usr/local/webserver/bin/mysql -u root -p

4、赋予从库权限帐号,允许用户在主库上读取日志

mysql> grant all privileges on *.* to 'admin'@'%' identified by '12345678';

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.000003 1635708   |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

8、另开一个终端登陆124,打包主库迁移数据

# cd /data/mysql/3306

# tar zcvf data124.tar.gz ./data

二、设置从库

1、传输拿到主库包、解包

登陆从库

#cd /data/mysql/3306

#tar zxvf data124.tar.gz

2、解锁主库表

mysql> unlock tables;

3、修改从库my.cnf

# vi my.cnf

# slave

server-id=2

master-host=192.168.110.64

master-user=admin

master-password=12345678

4、验证连接主库

# /usr/local/webserver/bin/mysql -h 192.168.110.64 -u admin -p

5、在从库上设置同步

设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position

mysql> slave stop;

mysql> change master to master_host='192.168.110.64',master_user='admin', master_password='12345678',

master_log_file='binlog.000003', master_log_pos=1635708;

mysql> slave start;

6、启动从库服务

mysql> slave start;

7、进行测试

在主库上的iea表上建立名为yuhongchun的表

mysql> CREATE TABLE `yuhongchun` (

`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,

`username` VARCHAR( 20 ) NOT NULL ,

`password` CHAR( 32 ) NOT NULL ,

`time` DATETIME NOT NULL ,

`number` FLOAT( 10 ) NOT NULL ,

`content` TEXT NOT NULL ,

PRIMARY KEY ( `id` )

) ENGINE = MYISAM ;

※值得注意的是:在从库上检查是否有yuhongchun的表,即时可以反映,这表示成功了(这同时也为安全留下了隐患,如果有误删表的操作那就不得了,所以主库上的全备一定要做好);剩下的工作就是维护了,比如时不时去检查下主库的hotcopy的备份情况等,观察下备份的日期是否为最近的一天,等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值