部署主从数据库

节点规划

          IP 主机名节点
192.168.19.10mysql1主数据节点
192.168.19.20mysql2从数据节点

虚拟机配置1核/2G内存、20G硬盘

配置网络和修改主机名
# 修改主机名

# mysql1 节点
hostnamectl set-hostname mysql1
bash

# mysql2 节点
hostnamectl set-hostname mysql2
bash

# 配置网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.19.10
PREFIX=24
GATEWAY=192.168.19.2
DNS1=114.114.114.114

挂载镜像

挂载CentOS-7-x86_64-DVD-2009.iso

 # mount  -o  loop  CentOS-7-x86_64-DVD-2009.iso  /mnt/
 #  mkdir  /opt/centos
 #  cp -rvf /mnt/* /opt/centos/
 #  umount  /mnt/

配置FTP服务

  # yum   install  vsftpd   -y
    #vi  /etc/vsftpd/vsftpd.conf
  添加 anon_root=/opt/      保存并退出
   #systemctl  start  vsftp
   #systemctl  enable  vsftpd

关闭防火墙及selinux服务

 配置防火墙和selinux文件
   #vi  /etc/selinux/config
       
   更改SELINUX=disabled
   
   生效临时命令   
   
   #setenforce  0
   关闭防火墙并设置开机不自启
   #systemctl  stop  firewalld
   #systemctl  disable   firewalld
   #iptables  -F
   #iptables  -X
   #iptables  -Z
   #iptables-save

配置hosts映射文件

[root@mysql1~]# vi /etc/hosts

127.0.0.1      localhost localhost.localdomain localhost4 localhost4.localdomain4
::1            localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.19.10 mysql1
192.168.19.20 mysql2

[root@mysql1~]# scp /etc/hosts 192.168.200.40:/etc/hosts

安装数据库服务

# mysql1 节点

[root@mysql1~]# yum install mariadb mariadb-server
[root@mysql1~]# systemctl start mariadb
[root@mysql1~]# systemctl enable mariadb

# mysql2 节点
[root@mysql2~]# yum install mariadb maridb-server
[root@mysql2]# systemctl start mariadb
[root@mysql2~]# systemctl enable mariadb

初始化数据库并配置主从服务

初始化数据库
[root@mysql1~]# mysql_secure_installation

   Enter current password for root (enter fore none):  #默认回车
   Set root password? [Y/n]  <mark>y</mark>
   New password:           #输入数据库密码‘000000’
   Re-enter new password:  #再次输入密码‘000000’
   Remove anonymous users?[Y/n]  <mark>y</mark>
   Disallow root login remotely?[Y/n] <mark>n</mark>
   Remove test database and access to it?[Y/n]  <mark>y</mark>
   Reload  privilege tables now?[Y/n]  <mark> y</mark>

[root@mysql2~]# mysql_secure_installation

   Enter current password for root (enter fore none):  #默认回车
   Set root password? [Y/n]  <mark>y</mark>
   New password:           #输入数据库密码‘000000’
   Re-enter new password:  #再次输入密码‘000000’
   Remove anonymous users?[Y/n]  <mark>y</mark>
   Disallow root login remotely?[Y/n] <mark>n</mark>
   Remove test database and access to it?[Y/n]  <mark>y</mark>
   Reload  privilege tables now?[Y/n]  <mark> y</mark>
配置mysql1主节点
[root@mysql1~]# vi /etc/my.cnf

     [mysqld]
     log_bin=mysql-bin
     binlog_ignore_db=mysql
     server_id=30          

[root@mysql~]# systemctl restart mariadb
[root@mysql~]# mysql -uroot -p000000


在 mysql1 节点,授权在任何客户端机器上可以以root 用户登录到数据库,然后在主节点上创建一个 user 用户连接节点 mysql2,并赋予从节点同步主节点数据库的权限。

   MariaDB[(none)]> grant all privileges on *.* to root@'%' identified by "000000";
   MariaDB[(none)]> grant replication slave on *.* to 'user'@'mysql2' identified by '000000'; 
配置mysql2从节点
[root@mysql2~]# vi /etc/my.cnf

     [mysqld]
     log_bin=mysql-bin
     binlog_ignore_db=mysql
     server_id=40        

在从节点 mysql2 上登录 MariaDB 数据库,配置从节点连接主节点的连接信息master host 为主节点主机名 mysql1,master user 为上一步中创建的用户 user.

[root@mysql2~]# systemctl restart mariadb
[root@mysql2~]# mysql -uroot -p000000

MariaDB[(none)]> change master to master_host='mysqll',master_user-='user',master_ password='000000';

配置完毕主从数据库之间的连接信息之后,开启从节点服务。使用 show slave statuslG命令,并查看从节点服务状态,如果 Slave IO Running 和 Slave SQL Running 的状态都为YES(如果不是,则看一看两台机连接是否断开),则从节点服务开启成功

MariaDB [(none)]> start slave;
MariaDB[(none)]> show slave status\G 
<mark> Slave IO Running:Yes</mark>
<mark>Slave SQL Running:Yes</mark>  

验证数据库主从服务

主节点创建数据库

先在主节点 mysql1 中创建库 test,并在库 test 中创建表 company,插入表数据,创建完成后,查看表 company 数据
[root@mysql1~]# mysql -uroot -p000000

MariaDB[(none)]> create database test;
MariaDB[(none)]> use test;
MariaDB(test]> create table company(id int not null primary key,name varchar(50),addr     
#addr 后空格
varchar(255));\
MariaDB[test]> insert into company values(1,"alibaba","china");
MariaDB[test]> select * from company;
从节点验证复制功能

登录 mysql2 节点的数据库,查看数据库列表。找到 test 数据库,查询表,并查询内容验证从数据库的复制功能。
[root@mysql2~]# mysql -uroot -p000000

MariaDB[(none)]> show databases;
MariaDB[(none)]> use test; 
MariaDB[test> show tables;
MariaDB [test]> select * from company;

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值