主数据库节点是.30,从数据库节点是.40
在主页上找到虚拟机模板,点击编辑虚拟机设置
——>点击处理器,弹出的页面中修改处理器数量为1
——>点击内存,将内存修改为2G
——>点击确定
——>右击主页右边的虚拟机模板栏,点击管理内的克隆
——>根据向导走,点击下一页
——>点击下一页
——>选择创建完整克隆
——>点击下一页
——>设置虚拟机名称为192.168.200.30,需要设置文件放置位置就点浏览
——>点击完成
——>等待克隆完成后,点击关闭
——>按照同样的步骤再从虚拟机模板上复制一个虚拟机,并设置虚拟机名称为192.168.200.40
——>在.30的虚拟机一栏下点击开启虚拟机后,点击未列出,登录管理员账号跟密码
——>.40的虚拟机也一样登录管理员
——>接下来开始对主数据库节点的基本配置
——>在.30的虚拟机主页面上右上角的开关处,找到有线,点击打开有线设置,在弹出的页面中的有线一栏,点击一个有齿轮的图标,然后点击IPV4,将地址改为192.168.200.30后点击右上角的应用,然后在有线一栏的打开关闭处,点击关闭后再点击打开,完成后可以在自己的计算机上的命令行界面,输入命令ping 192.168.200.30后回车,查看网卡的连接情况,注意如果这里连不上网,请在虚拟网络编辑器中,将NET的子网ip地址改为192.168.200.0,这样网络就能同一个连接了
——>在.30的主页面上打开终端,输入命令hostnamectl set-hostname mysql1后回车,将主机名修改为mysql1
——>关闭终端,可以点右上角的x,也可以ctlr+d
——>再次打开终端,输入命令setenforce 0后回车,关闭selinux屏蔽
——>输入命令systemctl stop firewalld后回车,关闭系统防火墙
——>输入命令systemctl disable firewalld后回车,将系统防火墙设置为开机不自启动
——>在主页面的主文件夹的其他位置,点击打开计算机,打开etc文件夹,找到hosts文件,双击打开这个文件
——>将文件内的代码修改为:
192.168.200.30 mysql1
192.168.200.40 mysql2
——>点击保存,并关闭该文件跟主文件夹
——>打开终端,输入命令ping mysql1后回车,测试是否联通,可用ctrl+z停下
——>输入命令yum install -y mariadb mariadb-server后回车,安装软件数据源
——>安装完成后,输入命令systemctl start mariadb后回车,启动数据库服务
——>输入命令systemctl enable mariadb后回车,将数据库服务设置成自启动
——>至此主数据库节点的基本配置完成
——>接下来是从数据库节点的基本配置,跟.30虚拟机的操作是一样的,只是,主机名要修改为mysql2,ping检测的时候也是mysql2
——>配置完.40后,需要分别在两个虚拟机的终端,分别输入ping mysql1和ping mysql2,确保两个虚拟机之间能互相ping通
——>至此基本配置已经完成
——>以下是初始化数据库的部分
——>在.30和.40两个虚拟机上的终端上分别输入命令clear后回车,清除以上的命令记录
——>在.30的虚拟机终端上输入命令mysql_secure_installation后回车,然后会出现以下画面:
这个画面是说请输入最近的数据库的管理员密码,因为刚配置,所以没有密码,直接回车
——>回车后会出现以下画面:
这里是说需不需要设置数据库的管理员密码,选择y后回车
——>回车后会出现以下画面:
这里的new password是输入新的密码,推荐是000000输入完后回车,之后出现的re-enter new password是确认新密码,再打一次密码后回车
——>密码设置完后会出现以下画面:
这里是问是否要移除其他的一些用户,因为是初始化,所以选择y后回车
——>回车完后会出现以下画面:
这里是问不允许管理员远程登录?因为要做分布部署,所以这里选择允许管理员远程登录,也就是选择n后回车
——>之后会出现以下画面:
这里是问需不需要移除测试数据库和测试数据,选择y后回车
——>回车完后会出现一些以下画面:
这里是说需不需要重新加载权限,选择y后回车
——>至此,.30的虚拟机初始化数据库已完成,然后跟.30虚拟机刚刚操作一样,在.40的虚拟机上的终端进行操作,把.40虚拟机的初始化数据库操作完成
——>都完成后,初始数据库的所有操作结束
——>接下来开始主数据节点的主要配置
——>在.30的虚拟机上,打开主文件夹的其他位置的计算机,找到etc文件夹打开,在该文件夹下找到my.cnf文件并打开
——>将文件的部分内容修改为如下:
log_bin=msql-bin
binlog_ignore_db=mysql
server_id=30
红框的第一行代码是记录操作日志,第二是不同步mysql的数据库,第三个是服务的ip,一般是输入ip地址的最后两个数字,这里因为是在.30上操作,故设为30
——>修改后点击保存,关闭该文件
——>打开.30虚拟机的终端,输入命令systemctl restart mariadb后回车,重启数据库服务,让刚刚的配置文件生效
——>输入命令mysql -uroot -p000000后回车,6个零是数据库密码,进行登录数据库
——>然后输入命令如下:
grant all privileges on *.* to root@'%' identified by "000000";
输入完后回车,这个命令是设置权限的,创建root管理员权限
——>然后输入命令如下:
grant all privileges on *.* to'user'@'mysql2' identified by "000000";后回车,创建主数据库节点的用户为user
——>至此主数据库的权限已经全部配置完成
——>接下来开始从数据库节点的主要配置
——>打开.40虚拟机的主文件夹的其他位置的计算机,找到etc文件夹打开,在该文件夹下找到my.cnf文件打开
——>将文件的部分内容修改为如下:
log_bin=mysql-bin
binlog_ignore_db=mysql
server_id=40
——>修改后点击保存,关闭该文件
——>打开.40虚拟机的终端,输入命令systemctl restart mariadb后回车,重启数据库服务,让刚刚的配置文件生效
——>输入命令mysql -uroot -p000000后回车,6个零是数据库密码,进行登录数据库
——>配置从数据库库连接到主数据的连接信息,输入以下四行命令信息:
change master to
master_host='mysql1',
master_user='user',
master_password='000000';
在没打分号之前按回车就是换行。因为这里是mysql语言,输入完后回车
——>输入命令start slave;后回车,开始从数据库节点的服务
——>输入命令show slave status\G;后回车,在出现的信息中看到如下信息即为配置成功:
如果不是yes而是Connecting的话,说明网络没有通
——>至此主从数据库的全部配置已经完成
——>接下来是验证主从数据库的服务有没有成功
——>打开.30虚拟机的终端,输入命令mysql -uroot -p000000后回车,6个零是数据库密码,进行登录数据库,如果已经登录,就不用输入该命令
——>登录后,输入命令create database test;后回车,创建一个名为test的数据库
——>输入命令use test;后回车,选择这个test的数据库
——>输入命令
create table company(id int not null primary key,name varchar(50),addr varchar(255));后回车,创建一个名为company的表格
——>输入命令
insert into company values(1,"alibaba","china");后回车,插入一条信息
——>输入命令select * from company;查询刚刚的信息是否插入成功
——>返回.40虚拟机的终端,输入命令mysql -uroot -p000000后回车,6个零是数据库密码,进行登录数据库,如果已经登录,就不用输入该命令
——>登录后,输入命令show databases;后回车,查看数据库中有没有.30虚拟机上刚刚创建的数据库
——>若是有,则输入命令use test;后回车,选择这个test数据库
——>输入命令show tables;后回车,查看当前的test数据库里有哪些表,看看有没有在.30虚拟机上创建的company表
——>输入命令select * from company;后回车,查询这个company表上的信息,看看有没有在.30虚拟机上插入的表格信息
——>要是发现在.40虚拟机上都有.30的虚拟机上的数据库信息,说明主从数据库配置的很成功
——>至此,全部的主从数据库配置已经完成,并验证成功
——>挂起虚拟机