Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1178735
  • 博文数量: 150
  • 博客积分: 2739
  • 博客等级: 少校
  • 技术积分: 2392
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-07 12:28
文章分类

全部博文(150)

文章存档

2015年(2)

2014年(16)

2013年(10)

2012年(58)

2011年(64)

分类: LINUX

2011-09-23 23:06:02

mysql主从和主主的配置

      mysql在主从和主主配置可以说是用来备份用的。主从主要是只能在主让更改数据且只能是主的能提供服务只有当主的出现故障从的才能生效,而主主是都能更改数据和都能提供服务的。二者都能做备份用。

配置:在节点node1.a.rog上安装mysql

1、  需要软件mysql-5.5.15-linux2.6-i686.tar.gz

  1. # mkdir -vp /data/mydata
  2. #tar xvf mysql-5.5.15-linux2.6-i686.tar.gz –C /usr/local
  3. #cd /usr/local
  4. # ln -sv mysql-5.5.15-linux2.6-i686/ mysql
  5. # groupadd -g 3306 mysql
  6. # useradd -g mysql -u 3306 mysql -s /sbin/false
  7. # chown -R mysql.mysql .
  8. # chown -R mysql /data/mydata/
  9. # scripts/mysql_install_db --user=mysql --datadir=/data/mydata

这个时候是启动不了数据库的需要做以下内容:

  1. # cd support-files/
  2.         # cp my-large.cnf /etc/my.cnf
  3.         # cp mysql.server /etc/init.d/mysqld

编辑/etc/init.d/mysqld的文件加入以下内容:

        datadir = /data/mydata

  1. 启动msyql:
  2.         #chkconfig –add mysqld
  3.         #service mysqld start

node2.a.rog上做相同的配置并能确定mysql能够启动。之后需要做的是关闭两端的mysql

1、  主从服务的配置:

node1上编辑/etc/my.cnf文件,确保开启如下内容

  1. log-bin=mysql-bin
  2. default-storage-engine=INNODB
  3. binlog_format=mixed
  4. binlog-ignore-db=mysql 可以屏蔽某个数据库避免同步
  5. server-id = 1

启动mysql并设置授权访问:

  1. MySQL>GRANT REPLICATION SLAVE ON *.* TO 'node2'@'192.168.%.%' IDENTIFIED BY 'node2';
  2. mysq>FLUSH PRIVILEGES;

node2上配置:

 编辑/etc/my.cnf文件:

  1. default-storage-engine=INNODB
  2. binlog_format=mixed
  3. binlog-ignore-db=mysql 可以屏蔽某个数据库避免同步
  4. server-id = 2

启动mysql:

  1. mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.168',MASTER_USER='node2',MASTER_PASSWORD='node2';
  2.    mysql> START SLAVE
  3. mysql> SHOW SLAVE STATUS\G;

  1. *************************** 1. row ***************************
  2. Slave_IO_State: Waiting for master to send event
  3. Master_Host: 192.168.0.168
  4. Master_User: node2
  5. Master_Port: 3306
  6. Connect_Retry: 60
  7. Master_Log_File: mysql-bin.000002
  8. Read_Master_Log_Pos: 107
  9. Relay_Log_File: station14-relay-bin.000003
  10. Relay_Log_Pos: 253
  11. Relay_Master_Log_File: mysql-bin.000002
  12. Slave_IO_Running: Yes
  13. Slave_SQL_Running: Yes

至此主从服务配置好,下面验证一下:

node1上创建一个新的数据库和表

  1. mysql>CREATE DATABASE XIAOXIAO
  2.   mysql> CREATE TABLE users ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(30) NOT NULL,Age TINYINT UNSIGNED NOT NULL,Gender ENUM('F','M') NOT NULL DEFAULT 'M');

  1. mysql> SHOW DATABASES;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | XIAOXIAO |
  7. | mysql |
  8. | performance_schema |
  9. | test |
  10. +--------------------+
  11. mysql> SHOW TABLES;
  12. +--------------------+
  13. | Tables_in_XIAOXIAO |
  14. +--------------------+
  15. | DATA |
  16. | QQ |
  17. | user |
  18. | users |
  19. +--------------------+

在从服务器上验证一下是否有XIAOXIAO数据库,user表。如果有则成功

1、  主主的配置

主主服务就是node1, node2两端既做主服务又作从服务

node2上创建访问授权:

  1. mysql> GRANT REPLICATION SLAVE ON *.* TO 'node1'@'192.168.%.%' IDENTIFIED BY 'node1';
  2. mysql> FLUSH privileges;

node1上启动slave

  1. mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.134',MASTER_USER='node1',MASTER_PASSWORD='node1';
  2. mysql> flush privileges;
  3. mysql> start slave;
  4. mysql> show slave status\G; 查看是否连接上

   至此配置完成!


阅读(1156) | 评论(0) | 转发(0) |
0

上一篇:各个文件系统测试比较

下一篇:shell---LAMP

给主人留下些什么吧!~~