zoukankan      html  css  js  c++  java
  • 配置mysql为主主复制步骤

    mysql版本:mysql-5.6.24-solaris10-sparc-64bit.tar

    操作系统:solaris 11g u10

    操作用户:使用非root进行操作安装,a路服务器ip地址为192.168.1.1 b路ip地址为192.168.1.2(应改为实际ip地址)

    1,安装mysql数据库

      

    1)        在预定义目录下创建mysql数据库目录(我是用的目录为/usr/db/)

    $mkdir mysql

    2)        在mysql目录下创建data目录

    $mkdir –p mysql_3306/data

    3)        在mysql目录下解压mysql文件

    $tar –xvf mysql-5.6.24-solaris10-sparc-64bit.tar

    $mv mysql-5.6.24-solaris10-sparc-64bit mysql

    4)        初始化data目录

    $./mysql/scripts/mysql_install_db --basedir=/usr/sjes/mysql/mysql --datadir=/usr/sjes/mysql/mysql_3306/data/ --user=mor

    5)        配置数据库启动文件

    $vi /mysql/my.cnf

    A路mysql配置内容下:(user 改为对应实际运行用户)

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    socket=/tmp/mysql.sock

    pid-file=/usr/db/mysql_3306/mysql.pid

    datadir=/usr/db/mysql_3306/data

    basedir=/usr/db/mysql/

    user=test

    character-set-server=utf8

    wait_timeout=31536000

    interactive_timeout=31536000

    server_id=1

    B路mysql配置内容如下:

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    socket=/tmp/mysql.sock

    pid-file=/usr/db/mysql_3306/mysql.pid

    datadir=/usr/db/mysql_3306/data

    basedir=/usr/db/mysql/

    user=test

    character-set-server=utf8

    wait_timeout=31536000

    interactive_timeout=31536000

    server_id=2

    6)        启动mysql数据库,并更改root默认密码

    $ ./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 &

    $mysql –u root –p(回车进入,不用输入密码)

    mysql>use mysql;

    mysql> update user set password=password('123456') where user='root';

    mysql>flush privileges;

    7)        在两路个数据库中创建数据库实例(分别在两个数据库中创建要进行同步的数据库)

    mysql> create database test1 default character set 'utf8';

    mysql> create database test2 default character set 'utf8';

    mysql> create database test3 default character set 'utf8';

    以上步骤为创建 a/b两路数据库的具体过程,下面具体配置主主复制步骤:

    2 配置主主主主复制

    1)        停止mysql数据库

    $./bin/mysqladmin shutdown –p 3306 –S /tmp/mysql.sock

    2)        分别编辑a,b两路的mysql的配置文件

    $vi my.cnf

    A路my.cnf配置文件新增内容如下:(auto-increment-increment = 2 auto-increment-offset = 1 为防止在两路数据库添加数据造成自增字段的冲突,一般情况下只在一路进行添加、更新操作,另一路仅做作为读)

    ##################replication config#######################

    log-bin = mysql-bin

    auto-increment-increment = 2

    auto-increment-offset = 1

    replicate-do-db = test1

    replicate-do-db = test2

    replicate-do-db = test3

    binlog-ignore-db = mysql

    binlog-ignore-db = information_schema

    slave-skip-errors=all

    log-slave-updates

    symbolic-links=0

    skip-name-resolve

    B路my.cnf配置文件新增内容如下:

    ##################replication config#######################

    log-bin = mysql-bin

    auto-increment-increment = 2

    auto-increment-offset = 2

    replicate-do-db = test1

    replicate-do-db = test2

    replicate-do-db = test3

    binlog-ignore-db = mysql

    binlog-ignore-db = information_schema

    slave-skip-errors=all

    log-slave-updates

    symbolic-links=0

    skip-name-resolve

    3)        启动mysql数据库

    $./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 &

    4)        进入数据库并相互授权

         A路执行如下命令

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY ‘123456’;

    mysql>flush privileges;

      B路执行如下命令

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY ‘123456’;

    mysql>flush privileges;

    5)        查看授权是否成功

    mysql> show grants for root@'192.168.1.1';

            

    6)        互告bin-log信息

         A路执行如下命令:

    mysql> show master status;

    B路执行如下命令:

    mysql> show master status;

     

         A路执行如下命令

    mysql> change master to master_host='192.168.1.2',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=2626;

      B路执行如下命令

    mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=3625;

    7)        在a,b两路上启动复制

    mysql>start slave;

    8)        在a,b两路上查看复制状态

         A路复制状态:

    mysql> show slave statusG

     

     

    B路复制状态

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes两个值均为yes则表示复制链接正常

    9)        测试复制

    在a路数据库中执行如下命令: 

    mysql>use test;

    mysql> CREATE TABLE `admin_info` (

    `username` varchar(32) NOT NULL,

    `password` varchar(32) DEFAULT NULL,

    PRIMARY KEY (`username`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    mysql>show tables;

    在b路数据库中查看表结构是否同步;

    在b路数据库中执行如下命令:

    mysql>INSERT INTO `admin_info` VALUES ('admin','system','25d55ad283aa400af464c76d713c07ad');

    在a路数据库中查看记录是否同步。

    以上为进行mysql配置主主复制的全过程,当两边复制出现问题时,许重新执行2-(6)中的步骤。

  • 相关阅读:
    Nim or not Nim? hdu3032 SG值打表找规律
    Maximum 贪心
    The Super Powers
    LCM Cardinality 暴力
    Longge's problem poj2480 欧拉函数,gcd
    GCD hdu2588
    Perfect Pth Powers poj1730
    6656 Watching the Kangaroo
    yield 小用
    wpf DropDownButton 源码
  • 原文地址:https://www.cnblogs.com/adam1991/p/7641039.html
Copyright © 2011-2022 走看看