Linux——配置主从数据库服务

编程

主从数据库

Linux中,数据库服务有三种:互为主主,互为主从,一主一从(主从数据库)

互为主主:数据库时时更新

互为主从:数据库达到一定的的容量再更新

一主一从:在主数据库上面创建的,可以同步到从数据库;在从数据库上面创建的,并不可以同步到主数据库中

服务名

mariadb

协议名

mysql

进程名称

mysqld

端口号

3306

一、改主机名、写域名解析文件

前提:首先要配好网络,yum源

点击查看配置网络,yum

# 配置网络

# (1)虚拟交换机配置为192.168.100.0网段,网络适配器选择仅主机模式;

# (2)编辑网络配置文件:

[root@wzg ~]# cd /etc/sysconfig/network-scripts/

[root@wzg network-scripts]# vim ifcfg-ens33

#需要修改的参数为:

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.100.10

PREFIX=24

# (3)重启网络服务:

[root@wzg network-scripts]# systemctl restart network

# 配置yum源

# (1)先进入虚拟机设置,把系统镜像连接到虚拟机的光驱上;

# (2)挂载光驱里的镜像:

[root@wzg ~]# mount /dev/cdrom /media/

mount: /dev/sr0 is write-protected, mounting read-only

# (3)修改yum源配置文件:

[root@wzg ~]# cd /etc/yum.repos.d/

[root@wzg yum.repos.d]# ls

[root@wzg yum.repos.d]# vim local.repo

[rhel]

name=rhel

baseurl=file:///media

enabled=1

gpgcheck=0

# (4)清空yum源缓存并检索yum源

[root@wzg yum.repos.d]# yum clean all

[root@wzg yum.repos.d]# yum repolist

注意:mysql1和mysql2都要设置主机名和域名解析

################  mysql1和mysql2  ################

# 主数据库改为mysql1

hostnamectl set-hostname mysql1

bash

# 从数据库改为mysql2

hostnamectl set-hostname mysql2

bash

################ mysql1 ################

# 做域名解析(两边都要做)

vim /etc/hosts

加入:

192.168.100.10 mysql1

192.168.100.20 mysql2

# 拷贝到mysql2

scp /etc/hosts 192.168.100.20:/etc

二、安装服务

注意:mysql1和mysql2都要安装

################  mysql1和mysql2  ################

# 安装数据库软件包

yum -y install mariadb mariadb-server

# 启动数据库服务

systemctl start mariadb

# 设置为开机自启

systemctl enable mariadb

三、初始化数据库

注意:mysql1和mysql2都要初始化,并且要先启动才能初始化

################  mysql1和mysql2  ################

# 初始化数据库

mysql_secure_installation

回车 #默认为设置密码

y #设置密码?密码设置为000000

y #移除匿名用户?

n #不允许root远程登录?

y #移除测试数据库?

y #重新加载数据库?

四、修改配置文件

分别修改mysql1和mysql2的配置文件

################  mysql1  ################

# 编辑配置文件

vi /etc/my.cnf

加入:

[mysqld]

log-bin = mysql-bin #设置为主数据库(也就是以二进制加载日志文件)

server-id = 10 #根据IP的最后一个字段

# 重启数据库服务

systemctl restart mariadb

# 配置防火墙

firewall-cmd --permanent --add-service=mysql

firewall-cmd --reload

################ mysql2 ################

# 编辑配置文件

vi /etc/my.cnf

加入:

[mysqld]

server-id = 20

# 重启数据库服务

systemctl restart mariadb

五、设置数据库权限

分别设置mysql1和mysql2的数据库权限

################  mysql1  ################

# 进入数据库

mysql -uroot -p000000

# 设置权限(授权,复制权限)

grant all privileges on *.* to root@"%" identified by "000000";

grant replication slave on *.* to "user"@"mysql2" identified by "000000";

################ mysql2 ################

# 进入数据库

mysql -uroot -p000000

# 设置权限(从库连接主库)

grant all privileges on *.* to root@"%" identified by "000000";

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

六、启动从数据库

在mysql2上:

################  mysql2  ################

# 启动从数据库

start slave;

# 查看状态

show slave statusG

# 可以看到Slave_SQL_Running: Yes,表示已开启从数据库

七、验证主从数据库

在mysql1上创建数据库,然后在mysql2上查看是否同步

################  mysql1  ################

# 查看当前的数据库

show databases;

# 创建一个新的(class)库

create database class;

# 进入class数据库

use class;

# 创建一个student表

create table student(ID int not null primary key,name varchar(20));

# 在表中插入一条数据

insert into student values(001,"wzg");

################ mysql2 ################

# 查看当前的数据库(可以看到上面创建的class库)

show databases;

# 进入class数据库

use class;

# 查看class库中的表(可以看到上面创建的student表)

show tables;

# 查看student表的具体信息(可以看到上面插入的一条数据)

select * from student;

# 退出数据库quit或ctrl+C键

声明:未经许可,不得转载

以上是 Linux——配置主从数据库服务 的全部内容, 来源链接: utcz.com/z/520088.html

回到顶部