MySQl主从数据库配置+基本命令操作
MySQL数据库:一个可以提供数据存储服务的软件。MySQL主从服务:在A、B两机器做主从后,在A上写数据,B也会跟着写数据,两者数据同步。
一、MySQL的安装
规划节点
|
IP地址 |
主机名 |
节点 |
|
192.168.203.30 |
master |
MySql主节点 |
|
192.168.203.31 |
slave |
MySQL从节点 |
基础准备
1.修改主机名
[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# bash
[root@localhost ~]# hostnamectl set-hostname slave
[root@localhost ~]# bash
2.关闭防火墙
[root@master ~]# systemctl stop firewalld
[root@master ~]# setenforce 0
[root@slave ~]# systemctl stop firewalld
[root@slave ~]# setenforce 0
3.配置主机映射
[root@master ~]# vi /etc/hosts

4.在两台机器上yum安装数据库并启动数据库
主节点:
[root@master ~]# yum install -y mariadb mariadb-server
[root@master ~]# systemctl start mariadb
[root@master ~]# systemctl enable mariadb

从节点:
[root@slave ~]# yum install -y mariadb mariadb-serve
[root@slave ~]# systemctl start mariadb
[root@slave ~]# systemctl enable mariadb

5.在两台机器上初始化数据库
[root@master ~]# mysql_secure_installation

注意:如果出现如下报错,则需重新设置root用户密码

解决方法如下
输入以下命令停止mariadb:
[root@master ~]# systemctl stop mysql
执行命令启动mariadb但跳过权限表:
[root@master ~]# mysqld_safe --skip-grant-tables &
命令行中执行以下命令,登录数据库:
[root@master ~]# mysql -u root
在数据库命令行中重置密码:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> set password for 'root'@'localhost' = password('000000');


注意:若在重启mariadb时遇到如下报错

解决方法如下:
检查是否有其他MySQL进程正在运行
[root@master ~]# ps aux | grep mysql
如果发现有其他MySQL进程正在运行,记录其PID(进程ID),并使用以下命令终止这些进程
[root@master ~]# kill -9 <ID号>
删除锁定的socket文件
[root@master ~]# sudo rm /var/lib/mysql/mysql.sock
重启MariaDB
[root@master ~]# sudo systemctl start mariadb
确认MariaDB是否成功启动
[root@master ~]# systemctl status mariadb

二、MySQL主从配置
1.主节点的配置
更改MySQL的配置文件
[root@master ~]# vi /etc/my.cnf
在文件中添加如下内容
[mysqld]
log_bin=mysql_bin
binlog_ignore_db=mysql
server_id=30

2.重启主数据库并登录数据库
[root@master ~]# systemctl restart mariadb
[root@master ~]# mysql -uroot -p000000

3.授权
在master节点授权任何客户端可以用root用户登录到数据库,然后在master创建一个user用户连接slave,并赋予其在slave节点同步数据的权限

4.从节点配置
[root@slave ~]# vi /etc/my.cnf

5.重启从节点并登录数据库
[root@slave ~]# systemctl restart mariadb
[root@slave ~]# mysql -uroot -p000000
6.连接主从数据库
MariaDB [(none)]> change master to master_host='master',master_user='user',master_password='000000';
Query OK, 0 rows affected (0.01 sec)

7.启动slave节点服务并查看节点状态
MariaDB [(none)]> start slave;
MariaDB [(none)]> show slave status\G

可以看到Slave_IO_Running和Slave_SQL_Running两项为YES,证明配置主从连接成功。
三、主从测试
1.在master节点的MySQL中创建test数据库
创建test库并,在test库中创建company表,并向表中添加数据
MariaDB [(none)]> create database test;
在test库中创建company表,并向表中添加数据
MariaDB [(none)]> use test;
创建非空表并创建name和addr两个列
MariaDB [test]> create table company(id int not null primary key,name varchar(50),addr varchar(255));
在表中添加shenyang china
MariaDB [test]> insert into company values(1,"shenyang","china");

2.在slave节点查看数据库的内容
查看数据库
MariaDB [(none)]> show databases;
进入test数据库
MariaDB [(none)]> use test;
查看数据库中的表
MariaDB [test]> show tables;
查看company表中全部内容
MariaDB [test]> select * from company;

更多推荐




所有评论(0)