• mysql一主多从配置详情


    https://www.cnblogs.com/zgx/archive/2011/09/13/2174823.html

     

    1、准备好3台虚机,一台master,两台slave且都安装好mysql

    2、主服务器上登录mysql,创建要同步的库及表

    mysql> mysql -uroot -p111111; mysql> CREATE DATABASE NAME; mysql> use NAME; mysql> CREATE TABLE T_NAME(id int,name varchar(20))

    3、主服务器新建用户并赋予“REPLICATION SLAVE”的权限(注:mysql8.0版本分三步执行)

    mysql> create user 'mslave'@'X.X.X.X' identified by 'password' mysql> grant all privileges on *.* to 'mslave'@'X.X.X.X' with grant option; ( grant 权限列表 on 数据库 to 用户名@访问主机) mysql> flush privileges;

    其中:X.X.X.X 为从服务器的ip地址 例如 192.168.50.% 表示该网段下的从服务器

    *.* 为当前服务器所有库所有表

    with grant option 为表示该用户可以将自己拥有的权限授权给别人

    mslave 为可设置的新用户名

    password 为可设置的密码

    flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

    4、备份数据库

    退出mysql执行备份

    mysqldump -uroot -p111111 -B hac>hac.sql

    5、远程拷贝到从服务器中

    scp 要拷贝的文件 远程服务器ip:/远程目录

    例子:scp hac.sql 192.168.50.131:/root

    6、修改master服务器上的配置文件(/etc/my.cnf)

    log-bin=mysql-bin-master //启用主服务器的二进制的名称 server-id=1 //不能重复 binlog-do-db=要同步的数据库 //同步多个就写多条 binlog-ignore-db=mysql //不同步的数据库

    7、重启mysql

    systemctl restart mysqld

    8、从服务器-导入mysql脚本

    mysql -uroot -p111111 <hac.sql

    9、从服务器-测试脚本导入是否成功

    mysql -uroot -p111111 -e "show databases"

    10、从服务器 - 配置etc/my.cnf文件

    server-id =2

    11、从服务器-重启mysql

    systemctl restart mysqld

    12、查看master状态

    mysql> show master status;

    13、从服务器尝试连接主服务器(注意防火墙关闭)

    mysql -umslave -p111111 -h 192.168.50.130

    14、查看定义的二进制同步文件

    ll /var/lib/mysql -rw-r-----. 1 mysql mysql 155 Aug 15 03:30 mysql-bin-master.000001 -rw-r-----. 1 mysql mysql 26 Aug 15 03:30 mysql-bin-master.index

    mysql查看二进制文件的记录

    show binlog events G

    15、从服务器-关掉

    stop slave;

    16、从服务器-配置主服务器

    change master to master_host='192.168.50.130',master_user='mslave',master_password='1111111';

    17、从服务器-启动

    start slave;

    18、从服务器-检查主从是否配置成功

    show slave status G

     

     

     

    Q:配置好后未同步

    A:检查是否开启同步

    mysql> set sql_log_bin=on;

     

  • 相关阅读:
    集合的代数运算
    集合的代数运算
    poj1639 Picnic Planning,K度限制生成树
    C/C++学习站点资源
    Mustache 使用心得总结
    PostgreSQL服务端监听设置及client连接方法
    【线性规划与网络流24题】汽车加油行驶问题 分层图
    linux系统下信号具体解释2
    【数据结构】栈-数组的实现
    EJB究竟是什么,真的那么神奇吗??
  • 原文地址:https://www.cnblogs.com/itstone/p/11766264.html
Copyright © 2020-2023  润新知