Linux——配置主从数据库服务
2021/12/15 2:20:12
本文主要是介绍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 status\G # 可以看到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——配置主从数据库服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南