一  主服务器修改

mysql的主从设置主要原理是 主数据库开启日志,并且创建从服务器专属账户,从服务器用该账户,读取到日志进行同步

  1. 准备两个mysql数据库(如何安装请查看,linux下mysql安装)版本最好一致,数据最好一致。
    42.159.88.203   root  !QAZ2wsx(设置成主数据库)
    42.159.93.208   root  !QAZ2wsx(设置成从数据库)
  2. 进入主数据库的linux的 root账户
    使用命令 # su 输入密码进入root账户
  3. 主数据库修改:
    (1) 使用命令 # vi /etc/my.cnf
    (2) 点击insert按钮进入insert模式

    (3) 复制配置到my.cnf文件(windows下可以直接ctrl+c复制内容,linux下用shift+insert粘贴内容)
         [mysqld]
         log-bin=mysql-bin 
         server-id=1 

    (4) 点击 ESC退出 insert ,输入 :wq! 回车  保存退出 :q不保存退出(esc退出insert模式 :wq! 会在最低下被打出,其他位置都不对)
  4. 进入mysql
    使用命令 # mysql -uroot -p 输入密码,出现“mysql>” 后即为进入成功
  5. 创建“从”数据用来同步的账户 slave1 密码 !QAZ2wsx  (注意设置密码是有策略的,及sql语句是需要“;”号的)
    mysql>use mysql
    mysql>CREATE USER 'slave1'@'42.159.93.208' IDENTIFIED BY '!QAZ2wsx';
    mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'123.57.44.85'; 
    mysql>lush privileges; 
    mysql>SHOW MASTER STATUS;
    (1)用命令  use mysql 进入到mysql数据库中进行添加用户操作
    (2)用命令  CREATE USER 'slave1'@'42.159.93.208' IDENTIFIED BY '!QAZ2wsx';
             如果出现
             密码不够复杂,要求 大小写 特殊字符数字 及8位以上
    (3)用命令 select User ,Host from user; 查询

    (4)使用命令 GRANT REPLICATION SLAVE ON *.* TO 'slave1 '@'42.159.93.208';  分配权限
    (5)使用命令 flush privileges;  刷新权限

    (6)使用命令SHOW MASTER STATUS;查看主服务器状态

    (7)重启服务
    exit 退出sql
    使用命令 service mysqld restart 重启服务

二  从服务器修改

    1. 同样进入从服务器的root账户

    2. 同样找到my.cnf配置文件,添加server-id

      [mysqld]
      server-id=2 #设置server-id,必须唯一
    3. 同样进入mysql
    4. 执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):

      使用命令 CHANGE MASTER TO MASTER_HOST='42.159.88.203',MASTER_USER='slave1',MASTER_PASSWORD='!QAZ2wsx',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=941;

    5. 启动slave同步进程:
      使用命令  start slave;
    6. 查看slave状态
      使用命令 show slave status\G;

 

linux下mysql设置主从的更多相关文章

  1. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  2. 笔记:linux下mysql设置utf-8编码方法

    一:查看mysql版本 1.1 mysql –V 在终端界面输入上面命令.显示如下: mysql Ver 14.14 Distrib 5.5.35, fordebian-linux-gnu (x86_ ...

  3. 设置Linux下Mysql表名不区分大小写

    1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写:2.用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_nam ...

  4. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  5. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  6. linux下mysql字符集编码问题的修改

    安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件:由于linux下MySQL的默认安装目录分布在不同的文件下:不像windo ...

  7. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

  8. linux下mysql的安装

    一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...

  9. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

随机推荐

  1. VSCode远程连接Docker

    一.Docker开启远程访问 [root@local host ~]# vi /lib/systemd/system/docker.service #修改ExecStart这行 ExecStart=/ ...

  2. Linux用户组账号文件——group和gshadow

     /etc/passwd文件中包含着每个用户的用户组ID(GID). /etc/group文件对用户组的许可权限的控制并不是必要的,这是因为Linux系统用来自于/etc/passwd文件的UID.G ...

  3. Linux用户账号文件——passwd

    /etc/passwd文件是UNIX安全的关键文件之一.该文件用于用户登录时校验用户的登录名.加密的口令数据项.用户ID(UID).默认的用户组ID(GID).用户信息.用户主目录以及登录后使用的sh ...

  4. ThinkPHP胜出Laravel 近4倍,主流框架性能测试

    主流PHP框架性能非权威测试 作为一个PHP开发者,而且是初创企业团队的技术开发者,选择开发框架是个很艰难的事情. 用ThinkPHP的话,招聘一个刚从培训机构出来的开发者就可以上手了,但是性能和后期 ...

  5. poj3417 Network/闇の連鎖[树上差分]

    首先隔断一条树边,不计附加边这个树肯定是断成两块了,然后就看附加边有没有连着的两个点在不同的块内. 方法1:BIT乱搞(个人思路) 假设考虑到$x$节点隔断和他父亲的边,要看$x$子树内有没有点连着附 ...

  6. 集成学习的不二法门bagging、boosting和三大法宝<结合策略>平均法,投票法和学习法(stacking)

    单个学习器要么容易欠拟合要么容易过拟合,为了获得泛化性能优良的学习器,可以训练多个个体学习器,通过一定的结合策略,最终形成一个强学习器.这种集成多个个体学习器的方法称为集成学习(ensemble le ...

  7. 查看hive的信息

    一.Hive下查看数据表信息的方法方法1:查看表的字段信息desc table_name; 方法2:查看表的字段信息及元数据存储路径desc extended table_name; 方法3:查看表的 ...

  8. uniapp在在页面跳转时,若URL太长的字符串会导致数据传递失败

    url有长度限制,太长的字符串会传递失败,可使用窗体通信.全局变量,或encodeURIComponent等多种方式解决,如下为encodeURIComponent示例的解决方法. <navig ...

  9. 数据类型之字符串类型与Number类型

    ㈠字符串类型 ⑴在JS中字符串需要使用引号引起来 ⑵使用双引号或单引号都可以,但是不要混着用 ⑶引号不能嵌套,双引号不能放双引号,单引号不能放单引号 ⑷在字符串中,可以使用“\”作为转义字符,当表示一 ...

  10. epplus动态合并列数据

    private static void SetColMerge(DataTable tb, ExcelWorksheet worksheet, string dtColumnName) { KeyVa ...