返回顶部
首页 > 资讯 > 数据库 >MYSQL主从搭建的方法教程
  • 592
分享到

MYSQL主从搭建的方法教程

2024-04-02 19:04:59 592人浏览 独家记忆
摘要

这篇文章主要介绍“Mysql主从搭建的方法教程”,在日常操作中,相信很多人在mysql主从搭建的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYsql主从搭建的方法

这篇文章主要介绍“Mysql主从搭建的方法教程”,在日常操作中,相信很多人在mysql主从搭建的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYsql主从搭建的方法教程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、MySQL主从复制搭建

MySQL主从复制搭建主要步骤有:安装mysql软件、Master端配置部署、Slave端配置部署、建立主从同步
安装操作系统环境:REDHAT6.5

以下内容都是自己在虚拟机亲测

1、安装MYSQL

a、环境准备及软件安装

安装环境:

node1 主机名 master      IP地址 192.168.159.128

NODE2 主机名 slave       IP地址 192.168.159.129

b、安装MYSQL 主从都要进行安装

#tar zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

# cd /usr/local/

# mv mysql-5.6.38-linux-glibc2.12-x86_64 mysql

# cd mysql

# groupadd mysql

# useradd -g mysql mysql

# passwd mysql
      # cd /usr/local/

#  chown -R mysql.mysql mysql

# ./script/mysql_install_db --user=mysql
      # cd /usr/local/mysql
      # chown -R root:root ./
      # chown -R mysql:mysql data

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

# chmod u+x /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# /etc/rc.d/init.d/mysqld start

 
在这里是采用的简易安装,如果想要在生产环境使用,想自己指定需要的参数,建议还是使用源码安装


注:主从都使用yum install 的方式安装系统自带的mysql也可以使用,亲测搭建成功,只是版本会比较低

2、Master端配置部署

a、在主服务器上的my.cnf配置文件中的[mysqld]节点下添加以下配置

黄色部分为新添加

vi /etc/my.cnf

[mysqld]

server-id=101

log-bin=/var/lib/mysql/mysql-bin.log

log-bin-index=/var/lib/mysql/mysql-bin.index

expire_logs_days=30

datadir=/var/lib/mysql

Socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

说明:

log-bin :给出二进制日志的所有文件基础名

log-bin-index :给出二进制日志文件的文件名,通常以000001开始,顺序递增。全名:master-bin.000001

server-id :mysql服务器唯一ID,在主从复制的所有服务器中必须唯一。

b、创建用户,并赋予权限:

create user repl_user;

GRANT REPLICATioN SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY PASSWord '******';

设置密码时会遇到报错:

ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串

select password('123456');

查出的是*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';

2、Slave端配置部署

a、配置参数:[mysqld]

黄色部分为新添加

vi /etc/my.cnf

[mysqld]

server-id=102

log-bin=/var/lib/mysql/mysql-relay-bin.log

log-bin-index=/var/lib/mysql/mysql-relay-bin.index

relay_log_purge=on

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is  recommended to prevent assorted security risks

symbolic-links=0

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

3、建立主从同步

(重建备库使用该方法,备库和主库是正常数据同步状态)

建立主从同步可以从主库上导出数据,也可以从已有的从库上导出数据,然后再导入到新的从库中,change master to建立同步。

3.1 、导出数据

在主库上导出数据:

mysqldump -u***-p***-S /data/mysql6001/mysql.sock        --default-character-set=utf8 –q --single-transaction --master-data-A >  /tmp/all_database.sql

(重建备库时)也可在从库上导出数据:(我这里是测试环境,所以对于我来说都是新建的数据库,所以无所谓啦)

mysqldump -u***-p***-S /data/mysql6001/mysql.sock --default-character-set=utf8 -q --single-transaction --dump-slave-A  >  /tmp/all_database.sql

NOTES

--master-data和--dump-slave导出的备份中,会包含master_log_file和master_log_pos信息。

--master-data选项的作用,是将二进制的信息写入到输出文件中,在这里是写入到备份的sql文件中。

--dump-slave选项的作用,是用户在slave端dump数据,建立新的slave,至少是第2个slave,也就是已经有A-->B,现在从B上导出数据建立A-->C的复制,这个不但可以用于建立slave,还可用于备份中,用于读binlog进行roll forward的起点

例子:(实际直接主库全库导出即可)

mysqldump -uroot --events --all-databases > /opt/mysql.dump

3.2、从库导入数据

mysql -u*** -p*** --default-character-set=utf8< all_database.sql

例子:

mysql -uroot <mysql.dump </mysql.dump

3.3、从库与主机建立同步

以下为建立主从同步最基本的6个项:change master to

master_host='xxx.xxx.xxx.xxx',    # 主库IP

master_port=6001,              # 主库mysqld的端口

master_user='repl',             # 主库中创建的有REPLICATION SLAVE权限的用户

master_password='xxxxxxxx',      # 该用户的密码

master_log_file='mysql-bin.000xxx',  # 已在导入时指定了

master_log_pos=xxxxxx;       #已在导入时指定了

start slave;

 

例子:

master_log_file和master_log_pos通过在主库上使用命令获得:

show master status \G;

在从库上执行:

change master  to

master_host='192.168.159.128',

master_port=3306,

master_user='repl_user',

master_password='123456',

master_log_file='mysql-bin.000001',

master_log_pos=1071;

start  slave;

 

二、主从复制状态检查及异常处理

1、MYSQL启动报错

(1)MYSQL启动时报错:

Another MySQL daemon already running with the same unix socket

原因多个Mysql进程使用了同一个socket。

两个方法解决:

第一个是立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。

第二个直接把mysql.sock文件改名即可。也可以删除,推荐改名。

然后就可以启动mysql了。

(2)在REDHAT7.0版本安装MYSQL5.6.38时遇到以下启动报错
service mysql start
Starting MySQL.180424 22:21:31 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/var/lib/mysql/REDHAT70.pid).


解决方法:
mkdir -p /var/log/mariadb/
cd /var/log/mariadb/
touch mariadb.log
chmod -R 775 mariadb.log
chown -R mysql:mysql mariadb.log

2、ERROR-2013报错

ERROR-2013报错代码,可能造成的原因是

[ERROR] Slave I/O: error connecting to master 'repl_user@192.168.159.128:3306' - retry-time: 60  retries: 86400, Error_code: 2013

iptables -F

setenforce 0

3、ERROR-1045报错

Last_IO_Errno: 1045

Last_IO_Error: error connecting to master 'repl_user@192.168.159.128:3306' - retry-time: 60  retries: 86400

必须使用以下方法授权

select password('123456');

GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';4、登陆MYSQL报错ERROR-2002

登陆MYSQL时如果报错:

ERROR 2002 (HY000): Can't connect to local MySQL Server through socket '/tmp/mysql.sock'

 解决方法:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

到此,关于“MYSQL主从搭建的方法教程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL主从搭建的方法教程

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

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

猜你喜欢
  • MYSQL主从搭建的方法教程
    这篇文章主要介绍“MYSQL主从搭建的方法教程”,在日常操作中,相信很多人在MYSQL主从搭建的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYSQL主从搭建的方法...
    99+
    2024-04-02
  • mysql主主和主从的搭建方法
    这篇文章主要介绍“mysql主主和主从的搭建方法”,在日常操作中,相信很多人在mysql主主和主从的搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主主和主从...
    99+
    2024-04-02
  • Mysql搭建主从复制的方法
    本篇内容主要讲解“Mysql搭建主从复制的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql搭建主从复制的方法”吧!主库:192.168.1.1 从库...
    99+
    2024-04-02
  • MYSQL主从搭建的方法是什么
    这篇文章主要讲解了“MYSQL主从搭建的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MYSQL主从搭建的方法是什么”吧! 一、MySQL主从复...
    99+
    2024-04-02
  • Mysql 主从搭建
                             Mysql  主...
    99+
    2024-04-02
  • MYSQL主从复制的搭建方式
    本篇内容主要讲解“MYSQL主从复制的搭建方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL主从复制的搭建方式”吧!前言:MYSQL的主从复制的原理跟...
    99+
    2024-04-02
  • Mysql主从复制搭建过程
    这篇文章主要讲解了“Mysql主从复制搭建过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql主从复制搭建过程”吧! 一、相关概念mysql主从复...
    99+
    2024-04-02
  • Centos7搭建主从DNS服务器的教程
    1、准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind、bind-chroot、bind-utils yum -y...
    99+
    2022-06-04
    Centos7搭建DNS服务器 Centos7搭建服务器
  • mysql主从的创建方法
    这篇文章主要介绍“mysql主从的创建方法”,在日常操作中,相信很多人在mysql主从的创建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主从的创建方法”的疑惑...
    99+
    2024-04-02
  • Mysql主从复制搭建
    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。 主将更改操作记录到binlog里从将主的binlo...
    99+
    2020-09-28
    Mysql主从复制搭建
  • MySQL(多主一从)搭建
    拓扑图:实验环境:(三台虚拟机)server1(master1-178)、server2(master2-179)、server3(slave-175)Master1:(178)安装软件yum instal...
    99+
    2024-04-02
  • MYSQL主从环境搭建
    服务器:192.168.11.131 master192.168.11.132 slave服务器系统# cat /etc/redhat-release CentOS Linux release 7...
    99+
    2024-04-02
  • mysql主从搭建切换
    环境: 172.30.249.156 percona5.6.27 主机名:tr-mysql 跑着生产环境的应用的虚拟机 192.168.129.153 percona5...
    99+
    2024-04-02
  • MYSQL怎么搭建主从
    本篇内容主要讲解“MYSQL怎么搭建主从”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL怎么搭建主从”吧!1,在虚拟机上新建三个虚拟机,分别是vm4 &...
    99+
    2024-04-02
  • mysql5.6主从搭建的方法是什么
    本篇内容介绍了“mysql5.6主从搭建的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统:centos6.6主:192.168...
    99+
    2023-06-21
  • 【Mysql】Mariadb多主一从的搭建
    背景:       目前MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(M<...
    99+
    2024-04-02
  • 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 服务器
  • 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+
    2024-04-02
  • MySQL主从搭建与配置
    MySQL主从(MySQL replication),主要用于MySQL的实时备份或者读写分离。在配置之前先做一下准备工作,配置两台MySQL服务器,如果你的机器不能同时跑两台Linux虚拟机,那么可以考虑...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作