首页 > 数据库 >Mysql-主从数据库配置

Mysql-主从数据库配置

时间:2023-09-19 15:59:44浏览次数:42  
标签:mysql1 mysql2 数据库 Mysql master user mysql 主从

两台linux服务器,修改主机名为mysql1,mysql2  

1.修改主机名
 服务器1

1 hostname mysql1

 服务器2

1 hostname mysql2

2.关闭防火墙及SElinux服务
mysql1

1 setenforce 0
2 systemctl stop firewalld

mysql2

1 setenforce 0
2 systemctl stop firewalld

3.配置hosts文件
mysql1

1 vim /etc/hosts
 
3 192.168.223.4 mysql1 #ip 服务器实际ip
4 192.168.223.3 mysql2

mysql2

1 vim /etc/hosts
 
3 192.168.223.4 mysql1
4 192.168.223.3 mysql2

4.安装mysql数据库 

Mysql-Linux 环境下部署 - tan253 - 博客园 (cnblogs.com)

5.重启mysql服务
systemctl restart mysqld.service

6.配置主从服务
6.1 mysql1

1 vim /etc/my.cnf
1 log_bin = mysql-bin #记录操作日志
2 binlog_ignore_db = mysql #不同步mysql系统数据库
3 server_id = 3 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.3,server_id就写3

重启数据库

1 systemctl restart mysqld.service

登录后主节点授权

1 grant REPLICATION CLIENT ON *.* TO user;
2 grant REPLICATION SLAVE ON *.* TO user;
3 grant SUPER ON *.* TO user;
4 grant reload on *.* to user;
5 FLUSH PRIVILEGES ;

6.2 mysql2

1 vim /etc/my.cnf
1 log_bin = mysql-bin #记录操作日志
2 binlog_ignore_db = mysql #不同步mysql系统数据库
3 server_id = 4 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.3,server_id就写3

重启数据库

1 systemctl restart mysqld.service

登录配置从节点连接主节点的连接信息

1 change master to master_host='mysql1',master_user='user',master_password='000000';

从节点服务开启

1 start slave;

使用show slave status\G命令,并查看从节点服务状态,如果Slave_IO_Running和Slave_SQL_Running的状态都为YES,

1 show slave status\G

###备注
1.虚拟化中直接复制的带数据库的服务器 修改,否则会报错

1 vim /var/lib/mysql/auto.cnf

2.MySQL主从同步故障:Slave_SQL_Running:No  
2.1首先停掉Slave服务:slave stop
到主服务器上查看主机状态:
记录File和Position对应的值
进入主节点

1   show master status;
1 change master to
2 master_host='mysql1',
3 master_user='user',
4 master_password='****',
5 master_port=3306,
6 master_log_file='mysql-bin.000006',#对应值
7 master_log_pos=157;#对应值

 

标签:mysql1,mysql2,数据库,Mysql,master,user,mysql,主从
From: https://www.cnblogs.com/tan253/p/17714777.html

相关文章

  • 记一个mysql死锁问题,在并发情况下导致的数据库更新超时
    1、问题:在执行mysql数据库更新操作,根据条件更新其中一列的值,具体的更新语句类似如下:updatepeoplesetname='zhangsan'whereid=1a andage=24;但是在Java中使用parallelStream().foreach(a->{//sql更新操作})并发流就会出现问题,导致有的更新会失败,报如下错误:M......
  • 【转】MySQL安装失败原因及解决方案
     MySQL安装,初始化数据的时候失败。。。。。报错bin.index一堆的乱码找了好长时间的原因了。。。。。。。大概率原因是:计算机名称是中文。 转自:MySQL安装失败原因及解决方案(ngui.cc)......
  • mysql TRUNCATE DELETE DROP
    https://www.cnblogs.com/cy0628/p/15019630.html     truncate与drop,delete的对比(重要)12345678上面说过truncate与delete,drop很相似,其实这三者还是与很大的不同的,下面简单对比下三者的异同。 truncate与drop是DDL语句,执行后无法回滚;delete是DML......
  • SQL 创建数据库
    在SQL中,“CreateDatabse”语句是将结构化数据存储在数据库中的第一步。数据库开发人员和用户使用SQL中的此语句在数据库系统中创建新数据库。它使用在CreateDatabase语句中指定的名称创建数据库。一、SQL创建数据库语法CREATEDATABASEDatabase_Name;在此语法中,D......
  • SQL 选择数据库
    假设数据库用户和管理员想要在SQL中对特定现有数据库上的表、视图和索引执行一些操作。首先,他们必须选择要在其上运行数据库查询的数据库。任何数据库用户和管理员都可以使用SQL中的USE语句轻松地从当前数据库服务器中选择特定数据库。一、SQL选择数据库语法USEdatabase......
  • SQL 重命名数据库
    在某些情况下,数据库用户和管理员出于某些技术原因想要更改数据库的名称。因此,SQL中的RenameDatabase语句用于更改现有数据库的名称。有时,使用RenameDatabase语句是因为开发人员认为原始名称与数据库的数据没有更多相关性,或者他们想给该数据库一个临时名称。一、SQL重命名......
  • SQL 删除数据库
    SQLDropDatabase语句从数据库系统中永久删除现有数据库。如果存储在数据库中,此语句将删除所有视图和表,因此在SQL中使用此查询时要小心。以下是从数据库系统中删除数据库之前需要学习的最重要的几点:此语句从数据库中删除所有数据。如果将来要恢复已删除的数据,则应保留要删......
  • orcle和mysql的区别
    orcle和mysql的区别Oracle数据库产品是闭源同时也是收费的,MySQL是开源的项目(免费);Oracle是大型数据库,Mysql是中小型数据库;Oracle可以设置用户权限、访问权限、读写权限等,MySQL没有;Oracle有表空间的概念,MySQL没有;Oracle默认不自动提交,需要用户手动提交。Mysql默认是......
  • 远程连接服务器时出现“这可能是由于CredSSP加密数据库修正”的错误提示的解决办法
    当我们远程连接服务器时,有时候会出现以下提示,从而导致我们无法成功连接服务器,如下所述:原因:远程桌面使用的是“凭据安全支持提供程序协议(CredSSP)”,这个协议在未修补的版本中是存在漏洞的。于是微软在2018年3月13日在补丁中解决了这个问题,但是默认并没有强制使用新的......
  • 软件测试|MySQL 外连接的详细解析与示例
    简介在关系型数据库中,表之间常常存在着关联关系。MySQL提供了多种连接操作,其中之一是外连接(LEFTJOIN和RIGHTJOIN)。本文将深入探讨MySQL中左外连接和右外连接的概念、语法以及使用示例。外连接(LEFTJOIN和RIGHTJOIN)的概念外连接是一种用于从两个表中检索相关数据的SQL操作。它可......