mariadb主从数据库配置详解

MySQL:

MySQL是一个关系型数据库管理系统,属Oracle旗下产品。
体积小、速度快、总体拥有成本低,开放源码,一般中小型网站都选择MySQL作为网站数据库。

mysql读写分离原理:

读写分离就是在主服务器上修改,数据会同步到从服务器,从服务器只能提供读取数据,不能写入,实现备份的同时也实现了数据库性能的优化,以及提高了服务器安全

关系型数据库:

关系型数据库,指采用了关系模型来组织数据的数据库,以行和列的形式存储数据,以便用户理解。
例如:Oracle、DB2、mysql、Microsoft SQL server

优点:
  • 易于维护:都是使用表结构。格式一致。
  • 使用方便:SQL语言通用。
  • 复杂操作:支持SQL,可用于一个或多个表的复杂查询。
缺点:
  • 读写性能差,尤其是海量数据。
  • 固定的表结构,灵活度欠缺。
  • 高并发读写需求,传统关系型数据库,硬盘I/O是一个很大的限制。

非关系型数据库:

NoSQL,泛指非关系型数据库,区别于关系数据库,不保证关系数据的ACID特性。nosql数据库的产生是为了解决大规模数据集合多重数据种类带来的挑战,尤其是数据应用难题。
例如:Membase、MongoDB

优点:
  • 格式灵活:存储数据的格式多样,使用灵活,应用广泛。
  • 速度快:可以使用硬盘或随机存储器作为载体。
  • 高扩展性。
  • 成本低。
缺点:
  • 不支持sql语言。
  • 无事务处理。
  • 数据结构相对复杂,复杂查询欠缺。

流程:

改名>关防火墙>安装mariadb(yum)>启动服务设置为开机自启(systemctl)>初始化数据库(mysql_secure_installation)>配置/etc/my.cnf文件(记录操作,忽略mysql库,sercer_id)>重启mariadb>mysql1授权(privileges ,replication slave)>mysql2配置master(change master to)>mysql2开启并查看(start slave,show slave status\G)>mysql1创建test库company表>mysql2查看company表中数据
1)改名(两台机器)

# hostnamectl set-hostname mysql1
# hostnamectl set-hostname mysql2

2)安装并初始化数据库(两台机器)

	# systemctl stop firewalld		//关闭防火墙
	# sentenforce 0
	# yum install -y mariadb mariadb-server	//yum安装数据库
	# systemctl start mariadb		//开启服务
	# systemctl enable mariadb		//设置开机自启
	# mysql_secure_installation		初始化数据库
注:在初始化数据库时,需进行多次选择,含义如下。

mariadb主从数据库配置详解_第1张图片

是否设置root用户密码,输入y之后回车进行密码输入再次回车确认密码输入。

在这里插入图片描述

是否删除匿名用户,输入y之后回车。

在这里插入图片描述

是否允许root远程登陆,输入n之后回车。

在这里插入图片描述

是否删除test数据库,输入y之后回车。

在这里插入图片描述

是否重新加载权限表,输入y之后回车

3)进行/etc/my.cnf文件配置
mysql1:

mariadb主从数据库配置详解_第2张图片

mysql2:
mariadb主从数据库配置详解_第3张图片

解释 :
log_bin:记录操作日志。
binlog_ignore_db:不同步mysql数据库。
server_id:两台机器要不同,主数据库要比从数据库小。
修改配置文件后,要进行重启服务操作。
4)数据库授权
在mysql1进行如下操作。
对mysql2用户授权,使其能够访问数据库
mariadb主从数据库配置详解_第4张图片

在mysql2开启同步。
进行change master配置,定义要连接的数据库、用户名和密码。
开启主从并查看。
Slave_IO_Running和Slave_SQL_Running都为Yes则配置成功。
mariadb主从数据库配置详解_第5张图片

5)测试主从
在mysql1上创建test库,并创建company表,表中有一条数据。
使用mysql2查看test库中的company表中的数据。
mysql1:
mariadb主从数据库配置详解_第6张图片

mysql2:
mariadb主从数据库配置详解_第7张图片

数据相同则测试成功。

你可能感兴趣的:(数据库,mysql)