• 配置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)中的步骤。

  • 相关阅读:
    php 通过二维码图片读取二维码内容
    Centos 文件系统 xfs、ext4、ext3 的区别
    js 实现省市县三级联动
    Scrapy 爬虫实战
    Mongodb 和 MySql native json 对比
    Vite —— 一种新的、更快地 web 开发工具
    解决mysql for docker容器报错:Authentication plugin 'caching_sha2_password' cannot be loaded
    Spring boot 自定义注解,Java通过反射获取注解,及注解的说明,附源码下载!
    Spring boot 自定义注解+@Aspect实现切面输出日志,附源码下载!
    HTML5 Canvas基础教程
  • 原文地址:https://www.cnblogs.com/adam1991/p/7641039.html
Copyright © 2020-2023  润新知