CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程

CentOS 7 搭建主从数据库(MariaDB)
一、准备工作
1. 主服务器关闭Firewalls、Selinux
2. 安装和配置Mariadb
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第1张图片
* 运行 yum install mariadb-server -y安装mariadb
* 运行systemctl start mariadb.service开启服务
* 运行systemctl enable mariadb设置开机自启
* 运行mysqladmin -u root password ‘xxxxxx’,最开始密码是空的,需要手动设置。
* 运行mysql_secure_installation简单配置mariadb的安装
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第2张图片
* 运行 vi /etc/my.cnf,对数据库进行基础配置
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第3张图片
* 修改保存后,运行systemctl restart mariadb重启数据库
* 至此,数据库安装配置好了。主服务器和从服务器的数据库安装配置和版本必须完全一致。从服务器的数据库安装省略
3.登录数据库,mysql -uroot -p(回车输入密码)
* 创建数据库CREATE DATABASE SSDB;
* 连接数据库use SSDB
* 将主服务器要同步的数据库枷锁,避免同步时数据冲突,运行flush tables with read lock;
* 退出登录
在这里插入图片描述
4.将主服务器数据库中的表结构和数据导出,运行mysqldump -uroot -p SSDB>SSDB.sql;回车输入密码
5.完成备份之后,登录数据库,将数据库解锁,运行unlock tables;备份好的sql文件传到从数据库服务器中,使用SQL文件手动先生成现有的数据,再进行之后的同步
6.切换到从服务器(默认数据库已照主服务器的步骤装好配置好),
* 登录到数据库
* 创建数据库 CREATE DATABASE SSDB;
* 连接数据库 use SSDB;
* 将主服务器的数据库初始数据导入到从服务器的数据库中。source SSDB.sql;

二、主服务器(192.168.2.120)配置1.修改MySQL配置
* 运行vi /etc/my.cnf
* 在[mysqld]中添加(位置不能错误,添加到[mysqld_safe]中的话后面运行show master status会显示为空,别问我为什么知道会是空的’^’)
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第4张图片
* 退出登录,重启MySQL

2.创建允许"从服务器"同步数据的账户,多个"从服务器"则修改数据执行多次mysql>grant replication slave on . to ‘root’@‘192.168.2.147’ identified by ‘root’;执行后更新数据库权限,flush privileges;
在这里插入图片描述
3.查看主服务器状态,运行show master status\G;其中File(主服务器当前使用的二进制日志)、Position(日志开始的位置)字段在‘从服务器’连接主服务器时会用到)
三、从服务器(192.168.2.147)配置
1.修改MySQL配置
* 运行vi /etc/my.cnf
* 在[mysqld]中添加
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第5张图片
2.执行同步命令
change master to master_host=‘192.168.2.120’,master_user=‘root’,master_password=‘root’,master_log_file=‘mysql-bin.000001’,master_log_pos=477;(这里的账号密码要和步骤二、2主服务器创建的允许同步的‘从服务器’账户保持一致,否则连不上)(master_log_file和master_log_pos字段的值和步骤二、3中的file、position字段保持一致)
在这里插入图片描述
3.查看"从服务器"状态show slave status\G;(Slave_IO_Running和Slave_SQL_Running字段都为Yes表示连接成功)
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第6张图片
四、验证
1.在主服务器的SSDB中增删查改
* 创建表

在这里插入图片描述
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第7张图片
* 插入数据
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第8张图片
2.从服务器的响应:
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第9张图片
五、搭建过程中遇到的问题
1.第一次连接主服务器的时候,连接失败,Slave_IO_Running为NO
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第10张图片
*
估计是主服务器的防火墙拦截了。把主服务器的Firewall、selinux关闭之后重新查看状态,发现又报了另外一个错
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第11张图片
*
错误提示是主服务器和从服务器的server_id相同导致的,检查从服务器的server_id,修改。
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第12张图片
*
重启数据库,再查看连接,连接成功
CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第13张图片
*
这个时候查看验证报错,提示数据库和表不存在

CentOS 7 搭建主从数据库(MariaDB)新手摸黑搭建过程_第14张图片
*
到这里才发现忘记把在主数据库备份的SSDB.sql文件在从数据库里执行了。。。执行之后就可以正常同步了。
以上就结束了。

但是

mysql 8.x只能采取创建用户、授权、更改密码这个步骤,不能一步到位,否则会报错!一直报语法错误语法错误语法错误。。。小白崩溃了orz

创建账号密码

CREATE USER ss@% IDENTIFIED BY ‘passowrd’;

授予权限

GRANT ALL ON . TO ss@% WITH GRANT OPTION;

修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;

删除权限

REVOKE all privileges ON databasename.tablename FROM ‘username’@‘host’;

#删除用户
Delete FROM user Where User=‘test’ and Host=‘localhost’;
flush privileges;

你可能感兴趣的:(服务搭建)