MySQl主从数据库配置+基本命令操作

一、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;

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值