• Mysql主从配置步骤与各种错误


    测试环境:

      2台腾讯云服务器。CentOS 7.2 64位,1G,lnmp。

      PHP:5.6;Mysql:5.5

      

      两台干净的服务器

    下面开始配置主服务器(master)

    1.修改配置: 

    log-bin = mysql-bin 要打开,也就是把前面的#去掉。也有些配置默认就是打开的。

    其实主服务器的不需要怎么动,server-id = 1也行。IP尾号也行。

    2.重启服务:因为我的环境是lnmp。所以我的重启命令可以是:service mysql start  或者  service mysqld start  或者  lnmp restart  三个选其一。总有一个适合你。

    3.进入mysql:

    然后给从服务器配置一个可以登录的账号:

    命令:grant all on *.* to ‘账号名’@’从服务器IP’ identified by ‘密码’ 。例如:grant all on *.* to 'root'@'192.168.203.20' identified by 'repl'; 

    接着这个命令:show master status;

    得到:

    记住这两个值。等会有用。

    然后可以查看一下当前的用户。命令:SELECT user,host,password FROM mysql.user;

    看吧,是不是多了一个。

    /***************************************/

    现在开始配置从数据库

    编辑从库的my.cnf文件

    只要这个值和主库的不一样,就没有什么问题。

    接下来。还是重启服务。service mysql start  或者  service mysqld start  或者  lnmp restart  三个选其一。总有一个适合你。

    然后给从数据库一点配置:

    1. mysql> change master to  
    2. master_host=’192.168.203.68′,  // 这是主数据库IP
    3. master_user=’jack’,  // 主数据库时候配置的登录名 
    4. master_password=’123456’,  //登录密码
    5. master_log_file=’mysql-bin.0000010′,   # 从哪个bin-log开始同步   在主库中show master status
    6. master_log_pos=106;  // 同上

     本来想写干净点 为了方便你们直接复制,后来想想也没什么用,反正你们都是要改IP和账号密码的。

    接着。执行这个命令start slave;

     

    最后:show slave status G 这行命令

    千万不要在后面跟;分号。

    会影响结果的。

     

    红框两个为yes 时候。表示成功~

    /*******************************/

    报错时候!!!!

    1.如果MYSQL服务重启一直报错。那就是你的配置文件有问题。就是那个/etc/my.cnf的文件。

    2.如果从服务器不能连接到主服务。首先判断。防火墙关了没。端口开了没。安全组定义了没。

      如果防火墙:就百度防火墙开关的命令。

      如果是端口:就是服务商那里把端口全开了。服务商知道把,就是如果你的服务器是阿里。就去阿里的控制台,如果的腾讯云。就去腾讯云的控制台。

      如果是安全组:那就去服务商那里找一个‘安全组’-》'入站规则'。

    3.你也可以测试一下是否可用连接主数据库:直接敲命令:mysql -h主服务器IP -u用户名 -p密码。如果能连同。证明防火墙和端口和安全组都没问题。

    4. 最后有个坑爹的。在执行最后一个show slave status G命令的时候。如果加了分号。就会有个报错。有时候还会影响到这两个的值

     5.差不多就是这样了。如果还有其他问题。欢迎补充探讨

    2017年10月22日23:20:07补充:

    6.刚刚重新配的时候发现了一个错误。觉得很重要:

      在slave_IO_Running:connecting 的时候。可以先退出来。连接一下远程的数据库。看能不能连。mysql -h主服务器ip -u刚刚主服务器设置的账号 -p密码

      如果能连。一般来说都是没问题的。

      如果不能。那就在主服务器,关掉防火墙

    (systemctl stop firewalld.service #停止firewall

    systemctl disable firewalld.service #禁止firewall开机启动
    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running))然后重启一下服务器。再去从服务器中。远程连接主服务器的数据库。一直到能连接上为止。

    还有个注意点:主服务器操作完最后一步。就不要操作了。不然会影响到Pos值。从服务器可以清空一下bin-log文件:mysql > reset master;。

  • 相关阅读:
    python3
    hive与hbase集成
    spark读取hbase形成RDD,存入hive或者spark_sql分析
    spark机器学习笔记01
    CodeForces 55D Beautiful numbers
    NOIP 2016 D2T2 蚯蚓](思维)
    SCOI 2009 围豆豆(状压DP)
    POJ 1852 Ants(贪心)
    STA树的深度(树型DP)
    HDU 5963 朋友 (找规律,思维)
  • 原文地址:https://www.cnblogs.com/chenrunxuan/p/7702433.html
Copyright © 2020-2023  润新知