zoukankan      html  css  js  c++  java
  • 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从
    
    1 通过 SecureCRT 连接至 MySQL 主服务器;
    
    2 找到 my.cnf 文件所在的目录:
        mysql --help | grep my.cnf
       一般情况 my.cnf 都会位于 /etc/ 目录下;
    
    3 用 vim 打开 MySQL 的配置文件 my.cnf:
        vim /etc/my.cnf
    
    4 找到 [mysqld] 并在其后添加如下配置:
        # 唯一标识此 MySQL 服务器,默认值为 1,一般采用所属 IP 的末端值
        server-id=1
        # 二进制日志文件名字,MySQL 主服务器必须启用此配置
        log-bin=master-bin-log
        # MySQL 主服务器中参与主从复制的数据库名;如果有多个数据库,则此参数可以有多个,每行一个,分部对应不同的数据库
        binlog-do-db=db_master_slave
        # MySQL 主服务器中二进制日志文件的索引名
        log-bin-index=master-bin-log.index
    
    5 在 MySQL 从服务器上同样用 vim 打开 my.cnf 文件,定位到 [mysqld],并在其后面加入如下配置:
        # 唯一标识此 MySQL 服务器,默认值为 1,一般采用所属 IP 的末端值
        server-id=2
        # MySQL 从服务器的日志索引文件名
        relay-log-index=slave-relay-log.index
        # MySQL 从服务器的日志文件名
        relay-log=slave-relay-log
    
    6 在 MySQL master 和 slave 服务器上分别创建数据库 db_master_slave:
        create database db_master_slave;    
    
    7 在 MySQL master 服务器上创建用户 user_master,并设置密码 Password_Master_123456:
        create user 'user_master'@'%' identified by 'Password_Master_123456';
    
    8 在 MySQL master 服务器上为用户 user_master 赋权对 db_master_slave 数据库的所有权限:
        grant all on db_master_slave.* to 'user_master'@'%';
    
    9 在 MySQL master 服务器上为用户 user_master 赋本地访问的权限:
        grant all privileges on db_master_slave.* to 'user_master'@'localhost' identified by 'Password_Master_123456';
    
    10 在 MySQL master 服务器上授权 MySQL slave 服务器可以通过 user_master 用户访问主服务器:
        grant replication slave on *.* to 'user_master'@'%' identified by 'Password_Master_123456' with grant option;
    
    11 在 MySQL master 和 slave 服务器上分别重启 MySQL 服务:
        关闭 MySQL 服务:
            service mysqld stop
        打开 MySQL 服务:
            service mysqld start
    重启 MySQL 服务:
         service mysql restart
    12 在 MySQL master 和 slave 服务器上分别进入到数据库 db_master_slave 中: use db_master_slave; 并创建用户名表 t_user: create table t_user(id int(3), name varchar(128)); 13 查看 MySQL master 服务器的状态: show master status; 并记录下其 master_log_file 属性和 master_log_pos 属性的值; 14 在 MySQL slave 服务上执行如下配置: change master to master_host='192.168.1.10', // MySQL master 服务器IP master_port=3306, master_user='user_master', master_password='Password_Master_123456', master_log_file='master-bin-log.000004', // MySQL master 服务器 master_log_file 的值 master_log_pos=654; // MySQL master 服务器 master_log_pos 的值 15 在 MySQL master 服务器的 db_master_slave 库中为用户名 t_user 添加数据: mysql> insert into t_user(id, name) values(1, 'idea1'); mysql> select * from t_user; 16 在 MySQL slave 服务器的 db_master_slave 库中为用户名 t_user 添加数据: mysql> insert into t_user(id, name) values(1, 'idea1'); mysql> select * from t_user; 17 在 MySQL slave 服务器的如何发现: slave_IO_running = NO 则执行如下命令: mysql> stop slave; mysql> start slave; 18 查看 MySQL 运行时中 server_id 的值: show variables like 'server_id';
  • 相关阅读:
    WP7 操作XML文件
    C#和C/C++指针实现swap交换
    感受
    我学到了什么 我思考了什么.
    hdu 2768 Cat vs. Dog (最大独立)
    hdu 1960 Taxi Cab Scheme (最小覆盖)
    hdu 1528 Card Game Cheater (最小覆盖)
    hdu 4160 Dolls (最大独立)
    hdu 2458 Kindergarten (最大独立集)
    hdu 2119 Matrix (最小覆盖)
  • 原文地址:https://www.cnblogs.com/hapday/p/5791235.html
Copyright © 2011-2022 走看看