ITPub博客

首页 > 数据库 > MySQL > 主从安装mysql 5.6.15

主从安装mysql 5.6.15

原创 MySQL 作者:denglt 时间:2014-01-26 15:43:00 2 删除 编辑

MySql主从安装
1 环境介绍
IP地址 节点类型 描述
172.16.93.231 主节点
172.16.93.232 从节点
操作系统:Oracle Linux Server release 6.2
2 安装软件
采用源码安装方式
1. mysql安装包:mysql-5.6.15.tar.gz
Mysql 下载地址:http://dev.mysql.com/downloads/
2.  Cmake安装包
mysql5.5以后是通过cmake来编译的
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

4 主服务器上安装MySql
   详细步骤按照“源码方式安装mysql 5.6.15

5 从库服务器上安装MySql
主库装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了/opt/mysql目录中,因此可以将主库整个mysql目录打包,然后传到从库服务器上解包,便可立即使用。
5.1 打包主库
[root@study1 /]# cd /opt
[root@study1 opt]# service mysql.server stop
Shutting down MySQL..... SUCCESS!
tar -czvf mysql.tar mysql/

5.2 从库服务器上解压
[root@study2 opt]# groupadd mysql
[root@study2 opt]# useradd –r –g mysql mysql
[root@study2 opt]# tar -xzvf mysql.tar
[root@study2 support-files]# cp mysql.server /etc/init.d/
[root@study2 support-files]# service mysql.server start
Starting MySQL............................ SUCCESS!
从库安装成功!
设置环境变量:
[root@study1 etc]# cd /etc
[root@study1 etc]# vi profile
在文件最后增加:
PATH=/opt/mysql/bin:/opt/mysql/lib:$PATH
export PATH

5.3 删除auto.cnf文件
删除/opt/mysql/data/auto.cnf文件。
否则启动slave会报如下错误:
                Last_IO_Errno: 1593
                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.


6 配置主库
6.1 在主库上创建一个复制使用的账号,并授予replication slave权限。
mysql>  GRANT REPLICATION SLAVE ON *.* to 'rep1'@'172.16.93.232' identified by 'mysql';
Query OK, 0 rows affected (0.08 sec)

6.2 修改主数据库的配置文件my.cnf,开启BINLOG,并设置server-id的值,修改之后必须重启Mysql服务
[mysqld]
log-bin = /opt/mysql/log/mysql-bin.log
server-id=1

实验的时候启动mysql发生错误,原因是mysql用户对/opt/mysql/log没有写权限。
执行# chown  mysql  /opt/mysql/log后,mysql服务启动成功。

6.3 查询主服务器当前二进制日志名和偏移量
mysql> show master status \G
*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 120
     Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
7 配置从库
7.1 设置server-id
修改/opt/mysql/etc/my.cnf,在[mysqld]下增加server-id=10

7.2 执行同步SQL语句
设置主库信息
Mysql> change master to
master_host='172.16.93.231',
master_user='rep1',
master_password='mysql',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=120,
master_connect_retry=10;

“change master to “命令详细见:http://dev.mysql.com/doc/refman/5.6/en/change-master-to.html

正确执行后启动Slave同步进程
mysql> start slave;
Query OK, 0 rows affected (0.03 sec)

主从同步检查
mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.93.231
                  Master_User: rep1
                  Master_Port: 3306
                Connect_Retry: 10
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 120
               Relay_Log_File: study2-relay-bin.000003
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
。。。
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。

注意:change master to 将在/opt/mysql/data/下产生master.info文件,来存放主库信息。

8 验证主从复制效果
在主库上操作:
mysql> use study;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------+
| Tables_in_study |
+-----------------+
| test            |
+-----------------+
1 row in set (0.00 sec)

mysql> create table test2 (name varchar(100));
Query OK, 0 rows affected (0.52 sec)

在从库上查看:

mysql> use study
Database changed
mysql> show tables;
+-----------------+
| Tables_in_study |
+-----------------+
| test            |
| test2           |
+-----------------+
2 rows in set (0.00 sec)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/195110/viewspace-1075620/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-04

  • 博文量
    118
  • 访问量
    703621