Linux搭建主从数据库

本文详细介绍了在两台虚拟机上使用CentOS7部署MySQL数据库,包括主机名修改、hosts文件配置、网络设置、yum源切换、数据库安装与初始化、主从复制的配置与验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

本实验使用两台虚拟机,镜像使用centos7-1511

mysql1 ------192.168.200.12
mysql2 ------192.168.200.13

1.更改主机名

192.168.200.12
hostnamectl set-hostname mysql12
192.168.200.13
hostnamectl set-hostname mysql2
修改hosts文件
mysql1 # vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.200.12 mysql1 192.168.200.13 mysql2 mysql1 # scp /etc/hosts mysql2:/etc/hosts # 将mysql1中配置好的的hosts文件发送给mysql2

2. 配置网络

参考 网络配置篇

3. 配置yum源

3.1 mysql1

mysql1使用本地yum源
具体配置参考 配置本地yum源
使用mysql1提供ftp服务,开放目录/opt/
具体配置参考 搭建ftp服务

3.2 mysql2

mysql2使用mysql1提供的ftp服务作为yum源
mysql2 # cd /etc/yum.repos.d/ mysql2 # gzip * mysql2 # vi /etc/yum.repos.d/ftp.repo [ftp_local] # 源名字 name=this is lnb ftp repo # 描述 baseurl=ftp://192.168.200.12/centos # 指定从哪里下载软件包 ,需要从本地下载 gpgcheck=0 # 是否检查已经下载的软件包的信息,使用第三方yum源时建议打开,若打开则需要从官网下载RPM-GPG-KEY-CentOS-7 enabled=1 # 启动这个仓库 mysql2 # yum clean all # 清除缓存 mysql2 # yum makecache # 生成缓存 mysql2 # yum repolist # 查看可用安装包

4. (安装&初始化)数据库

mysql1&mysql2
# 在mysql1上进行的操作 mysql1 # yum install -y mariadb mariadb-server # 安装数据库客户端以及服务端 mysql1 # systemctl start mariadb # 启动数据库 mysql1 # systemctl enable mariadb # 将数据库设为开机自启 mysql1 # mysql_secure_installation # 初始化数据库 -------------------------------------------- # 在mysql2上进行相同的的操作 mysql2 # yum install -y mariadb mariadb-server # 安装数据库客户端以及服务端 mysql2 # systemctl start mariadb # 启动数据库 mysql2 # systemctl enable mariadb # 将数据库设为开机自启 mysql2 # mysql_secure_installation # 初始化数据库 -------------------------------------------- # 初始化说明 Enter current password for root (enter for none): #默认按回车 Set root password? [Y/n] y New password: #输入数据库root密码000000 Re-enter new password: #再次输入密码000000 Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] n Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

5.配置数据库

5.1 mysql1

修改mysql1节点的数据库配置文件(/etc/my.cnf.d/server.cnf)[[mysqld]]
mysql1 # vi /etc/my.cnf.d/server.cnf … … [mysqld] … … log_bin = mysql-bin #记录操作日志 binlog_ignore_db = mysql #不同步mysql系统数据库 server_id = 12 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.12,server_id就写12 … … mysql1 # systemctl restart mariadb # 重启mariadb服务 
进入数据库,进行授权
mysql1 # mysql -uroot -p000000 # 进入数据库 # 授权在任何客户端机器上可以以root用户登录到数据库 > grant all privileges on . to root@‘%’ identified by “000000”; # 在主节点上创建一个user用户连接节点mysql2,并赋予从节点同步主节点数据库的权限 > grant replication slave on . to ‘user’@‘mysql2’ identified by ‘000000’;

5.2 mysql2

修改mysql1节点的数据库配置文件(/etc/my.cnf.d/server.cnf)[[mysqld]]
mysql2 # vi /etc/my.cnf.d/server.cnf … … [mysqld] … … log_bin = mysql-bin #记录操作日志 binlog_ignore_db = mysql #不同步mysql系统数据库 server_id = 13 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.13,server_id就写13 … … mysql2 # systemctl restart mariadb # 重启mariadb服务 
进入数据库,配置从节点连接主节点的连接信息
mysql2 # mysql -uroot -p000000 > change master to master_host=‘mysql1’,master_user=‘user’,master_password=‘000000’; > start slave; # 开启从节点服务 > show slave status\G # 查看从节点服务状态 ------ Slave_IO_Running: Yes Slave_SQL_Running: Yes ------
可以看到Slave_IO_Running和Slave_SQL_Running的状态都是Yes,配置数据库主从集群成功。

6. 验证数据库主动服务

1.主节点创建数据库

mysql1 # mysql -uroot -p000000 > create database test; > use test; > create table company(id int not null primary key,name varchar(50),addr varchar(255)); > insert into company values(1,“alibaba”,“china”); > select * from company; ±—±--------±------+ | id | name | addr | ±—±--------±------+ | 1 | alibaba | china | ±—±--------±------+

2. 从节点验证复制功能

mysql2 # mysql -uroot -p000000 > show databases; ±-------------------+ | Database | ±-------------------+ | information_schema | | mysql | | performance_schema | | test | ±-------------------+ > use test; > show tables; ±---------------+ | Tables_in_test | ±---------------+ | company | ±---------------+ > select * from company; ±—±--------±------+ | id | name | addr | ±—±--------±------+ | 1 | alibaba | china | ±—±--------±------+
可以查看到主数据库中刚刚创建的库、表、信息,验证从数据库的复制功能成功。

完成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹博Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值