广告
返回顶部
首页 > 资讯 > 数据库 >Mysql 主从搭建
  • 915
分享到

Mysql 主从搭建

mysql主从搭建 2022-10-18 04:10:05 915人浏览 泡泡鱼
摘要

                         Mysql  主

                         Mysql  主从搭建

 

操作系统

[root@localhost ~]# cat /etc/redhat-release

Centos release 6.8 (Final)

 

Master(主):192.168.137.32

Slave (从) :192.168.137.33

 

第一步:在CentOS6.x下安装mysql数据库

这里我直接用脚本安装mysql5.7的

vim auto_install_mysql.sh

 

#!/bin/bash

yum install  -y  wget

wget https://dev.mysql.com/get/mysql57-commUnity-release-el6-9.noarch.rpm

rpm -Uvh mysql57-community-release-el6-9.noarch.rpm

yum clean all

sleep 2

yum install mysql-community-server -y

/etc/init.d/mysqld start

chkconfig --level 2345 mysqld on

for i in `grep 'temporary passWord' /var/log/mysqld.log| awk -F": " '{print $2}'`;

    do

mysql -uroot -p$i -e "set global validate_password_policy=0;" -b --connect-expired-password

mysql -uroot -p$i -e "set global validate_password_length=6;" -b --connect-expired-password

mysql -uroot -p$i -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123';" -b --connect-expired-password

/usr/bin/mysqladmin -u root -p$i  password 'abc123' -b --connect-expired-password

mysql -uroot -p"abc123" -e "show databases;"

echo "mysql is install  ok"

done

service mysqld restart

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  

service iptables save

/etc/init.d/iptables restart

 

#注意:mysql5.7里面有安全机制,新装的数据库有随机密码在/var/log/mysql.log

为了方便操作 我把密码修改abc123  

 

第二步:将数据库修改为外部ip可以访问

Mysql  -uroot -p     回车输入密码abc123进行登录数据库

 

 

你想mysql账户myuser使用密码mypassword从任何主机连接到mysql服务器的话,那就在mysql命令行下输入:

 

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc123' WITH GRANT OPTioN;

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

 

#当报当前设置的密码不满足密码策略,以下进行解决

 

mysql> set global validate_password_policy=0;       #设置密码复杂度为0,就是低

Query OK, 0 rows affected (0.14 sec)

 

mysql> set global validate_password_length=6;       #设置密码长度为6

Query OK, 0 rows affected (0.02 sec)

 

mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123'  with grant option;

Query OK, 0 rows affected, 1 warning (0.29 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.41 sec)

 

mysql> quit

Bye

 

然后 flush privileges 刷新权限 输入quit  保存退出

 

 

Master(192.168.137.32):

新加如下俩行

vim /etc/my.cnf

   server-id=1

   log-bin=mysql-bin

Slave(192.168.137.33):

 vim /etc/my.cnf

   server-id=2

   log-bin=mysql-bin

 

 

server-id唯一,每台机子自取ID名称  master: service_id=1    slave:server_id=2

 

1)       接下来确认slave和master的上的server_id是否正确。可以分别在slave和master的mysql上运行 SHOW VARIABLES LIKE'server_id'; 来查看server_id是否和你配置的一样

Master:

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id     | 1     |

+---------------+-------+

1 row in set (0.12 sec)

 

Slave:

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id     | 2     |

+---------------+-------+

1 row in set (0.11 sec)

 

 

2) 分别重新启动master,slaver的二台mysql服务  service mysqld restart

3) 登陆   mysql -u root -p  回车

4) 输入abc123 密码

5) master输入

6) Mysql> show master status

 

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      154 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

 

7) 记录下 FILE 及 Position 的值,在后面进行从服务器操作的时候需要用到。

8) 配置slave服务器的MYSQL内输入

mysql> change master to

    -> master_host='192.168.137.32',             

    -> master_user='root',                  

    -> master_password='abc123',

    -> master_log_file='mysql-bin.000001',

    -> master_log_pos=154;

Query OK, 0 rows affected, 2 warnings (0.13 sec)

 

9)    正确执行后启动Slave同步进程

10) 启动slave   查看slave状态

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

 

mysql> show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.137.32

                  Master_User: root

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000001

          Read_Master_Log_Pos: 154

               Relay_Log_File: localhost-relay-bin.000002

                Relay_Log_Pos: 320

        Relay_Master_Log_File: mysql-bin.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

              Replicate_Do_DB:

          Replicate_Ignore_DB:

           Replicate_Do_Table:

       Replicate_Ignore_Table:

      Replicate_Wild_Do_Table:

  Replicate_Wild_Ignore_Table:

                   Last_Errno: 0

                   Last_Error:

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 154

              Relay_Log_Space: 531

              Until_Condition: None

               Until_Log_File:

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File:

           Master_SSL_CA_Path:

              Master_SSL_Cert:

            Master_SSL_Cipher:

               Master_SSL_Key:

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error:

               Last_SQL_Errno: 0

               Last_SQL_Error:

  Replicate_Ignore_Server_Ids:

             Master_Server_Id: 1

                  Master_UUID: d7780cea-92ec-11e7-b97b-000c29e62b50

             Master_Info_File: /var/lib/mysql/master.info

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

           Master_Retry_Count: 86400

                  Master_Bind:

      Last_IO_Error_Timestamp:

     Last_SQL_Error_Timestamp:

               Master_SSL_Crl:

           Master_SSL_Crlpath:

           Retrieved_Gtid_Set:

            Executed_Gtid_Set:

                Auto_Position: 0

         Replicate_Rewrite_DB:

                 Channel_Name:

           Master_TLS_Version:

1 row in set (0.00 sec)

 

11)  其中红色标注Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。

测试主从复制

1:先确定主,从库上没有任何自定义表

2:主服务器上的操作

在master主服务器上创建数据库

Create database  mydb2;

在从服务器上

Show databases;    看看没有没有出现mydb2

 

 

show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: No

 

有问题了,Slave_SQL_Running应该是Yes才对。

再往下看,有错误的提示:

 

Last_Errno: 1053

Last_Error: Query partially completed on the master (error on master: 1053) and was aborted. There is a chance that your master is inconsistent at this point. If you are sure that your master is ok, run this query manually on the slave and then restart the slave with SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; . Query: 'INSERT INTO hx_stat_record ......(一句SQL语句)'

 

这里有说明要怎么操作了:)

 

先stop slave,然后执行了一下提示的语句,再SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

start slave;

 

show slave status\G

 

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

如果还是不行,先关闭slave,mysql>stop slave,接着重新配置偏移量,从主库:show master status;  接着从库mysql内,输入:

change master to

master_host='192.168.137.32',

master_user='root',

master_password='abc123',

master_log_file='mysql-bin.000001',

master_log_pos=154;

 

 

再看从服务器有没有同样的数据库表出现,有则是成功。


您可能感兴趣的文档:

--结束END--

本文标题: Mysql 主从搭建

本文链接: https://www.lsjlt.com/news/39478.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql 主从搭建
                             Mysql  主...
    99+
    2022-10-18
    mysql 主从搭建
  • Mysql主从复制搭建
    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlo...
    99+
    2020-09-28
    Mysql主从复制搭建
  • MYSQL主从环境搭建
    服务器:192.168.11.131 master192.168.11.132 slave服务器系统# cat /etc/redhat-release CentOS Linux release 7...
    99+
    2022-10-18
    mysql 主从 环境搭建
  • mysql主从搭建切换
    环境: 172.30.249.156 percona5.6.27 主机名:tr-mysql 跑着生产环境的应用的虚拟机 192.168.129.153 percona5...
    99+
    2022-10-18
    mysql 主从 切换
  • MYSQL怎么搭建主从
    本篇内容主要讲解“MYSQL怎么搭建主从”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL怎么搭建主从”吧!1,在虚拟机上新建三个虚拟机,分别是vm4 &...
    99+
    2022-10-18
    mysql
  • MySQL(多主一从)搭建
    拓扑图:实验环境:(三台虚拟机)server1(master1-178)、server2(master2-179)、server3(slave-175)Master1:(178)安装软件yum instal...
    99+
    2022-10-18
    数据库 数据库表 拓展
  • mysql搭建主从复制(一主一从,双主双从)
    主从复制原理 Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定的位置开始复制主服务器所进行修改的语句到从服务器上执行一遍。 流程图 搭建一...
    99+
    2016-07-17
    mysql搭建主从复制(一主一从,双主双从)
  • Mysql主从数据库搭建(一主两从)
    目录 1、服务器规划 2、主从同步流程 3、主从搭建 3.1、master节点上配置文件修改 3.2、master节点创建同步用户和权限 3.3、slave1和slave2节点配置文件修改 3.4、slave1和slave2节点执行同步任...
    99+
    2023-08-31
    数据库 mysql 服务器
  • Docker搭建Mysql主从复制
    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 do...
    99+
    2023-09-24
    docker mysql 容器 Linux
  • MySQL主从搭建与配置
    MySQL主从(MySQL replication),主要用于MySQL的实时备份或者读写分离。在配置之前先做一下准备工作,配置两台MySQL服务器,如果你的机器不能同时跑两台Linux虚拟机,那么可以考虑...
    99+
    2022-10-18
    mysql 主从
  • linux搭建mysql主从服务
    网上找了N多资料,没有一个可以顺利成功的,郁闷,可能是水平有限吧...!本人经过不断的研究、测试,完整实现linux下启动两台Mysql,而且对mysql有了更深入的了解...废话不多说,走着! ...
    99+
    2022-10-18
    linux mysql 搭建
  • MySQL基于GTID主从搭建
    目录一、用xtarbackup备份数据库1.1 优势1.2 安装1.3 使用1.3.1 普通备份1.3.2 tar备份1.3.3 xbstream备份1.3.4 恢复二、基于GTID做数据同步2.1 GTID的概念2.2...
    99+
    2022-08-26
    MySQL GTID MySQL主从搭建
  • 新环境搭建Mysql主从
    环境信息: 用途 IP OS Mysql 主 ...
    99+
    2022-10-18
    mysql 主从 搭建
  • MYSQL主从库搭建(原创)
    MYSQL主从库搭建(原创) 一、 单主库配置1.1环境说明本节讲述的环境为一个主库,两个从库,具体环境如下。1.1.1Linux versionRed Hat ...
    99+
    2022-10-18
    主从库 配置 mysql
  • MySQL 5.7 主从集群搭建
    IP功能Linux版本192.168.56.136MasterCentOS 7.9192.168.56.140SlaveCentOS 7.9 一、安装前的准备 1、卸载老版本 (1)查看是否安装mariadb(centos7默认安装) 命令...
    99+
    2023-09-16
    mysql 数据库 linux
  • mysql主主和主从的搭建方法
    这篇文章主要介绍“mysql主主和主从的搭建方法”,在日常操作中,相信很多人在mysql主主和主从的搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主主和主从...
    99+
    2022-10-18
    mysql
  • 主从搭建
    1.创建主从 1.1 前提条件主从MySQL都开启binlog,并且保证server-id唯一[mysqld]log-bin=mysql-binserver-id=10086 After making th...
    99+
    2022-10-18
    mysql5.7 主从搭建
  • 使用docker-compose搭建mysql主从
    目录 一、docker-compose和主从的简介 1、docker-compose 2、mysql主从 3、为什么要使用docke-compose? 二、部署mysql主从集群 1、mysql-master主库 2、mysql-slave...
    99+
    2023-09-26
    docker mysql java 数据库 微服务
  • Mysql主从复制搭建过程
    这篇文章主要讲解了“Mysql主从复制搭建过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql主从复制搭建过程”吧! 一、相关概念mysql主从复...
    99+
    2022-10-18
    mysql
  • 【Mysql】Mariadb多主一从的搭建
    背景:       目前MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(M<...
    99+
    2022-10-18
    mariadb mysql 多主
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作