环境配置:
linux版本
CentOS Linux release 7.9.2009 (Core)
mysql版本
mysql8.0.16
主机地址:
192.168.200.94
192.168.200.98
192.168.200.99
准备工作:
1.进入系统后,优先进行关闭防火墙:
systemctl stop firewalld 和vi etc/selinux/config 中修改selinux设置为disabled 或setenforce 0
2.之后更新软件包和系统内核,三台服务器均配置
yum -y update
3.在root账号下,配置hosts(必须),三台服务器均配置
vi /etc/hosts
192.168.200.94 master94
192.168.200.98 slave98
192.168.200.99 slave99
4.修改主机名
hostnamectl set-hostname master94
hostnamectl set-hostname slave99
hostnamectl set-hostname slave98
搭建单节点数据库步骤:
1.在根目录下创建文件夹放安装包:
mkdir /mysqlsoft/
2.上传mysql安装包至/mysqlsoft/目录下:
(安装包链接:MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/)本文下载的mysql-8.0.16版本
3.解压安装包到指定目录
tar -xvf /mysqlsoft/mysql-8.0.16-linux-x86_64-minimal.tar.xz -C /mysqlsoft/
4.将解压的安装包重命名
mv /mysqlsoft/mysql-8.0.16-linux-x86_64-minimal /mysqlsoft/mysql
5.新建日志文件
mkdir /mysqlsoft/mysql/log
6.新建msyql组和mysql用户
groupadd mysql
useradd -g mysql mysql
7.修改/mysqlsoft目录权限
chown -R mysql:mysql /mysqlsoft
8. 配置mysql参数(将原文件内容全部删除)
(输入i进入编辑模式,esc退出编辑,':wq'保存退出,':q'退出,':q!'强制退出)
vi /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
port = 3306
basedir = /mysqlsoft/mysql
datadir = /mysqlsoft/mysql/data
pid-file = /mysqlsoft/mysql/mysql.pid
socket = /tmp/mysql.sock
[mysqld_safe]
log-error=/mysqlsoft/mysql/log/error.log
9.配置环境变量(全局)(在文件末尾处直接添加)
vi /etc/profile
#mysql
MYSQL_HOME=/mysqlsoft/mysql
PATH=$PATH:$MYSQL_HOME/bin:$MYSQL_HOME/support-files
export PATH MYSQL_HOME
10.生效配置文件
source /etc/profile
11.
法一:
安装libaio依赖
yum install libaio(碰到输入y :Is this ok [y/d/N]: y)
法二:
上传下载的安装包,之后执行
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
12.初始化数据库
mysqld --initialize --user=mysql
13.转置mysql用户下
su - mysql
14.开启MySQL服务
mysql.server start
15. 登录数据库输入密码((密码第12步root@localhost后寻找))
mysql -u root -p
16. 登陆数据库修改密码:
alter user USER() identified by 'Lunz2017';
一主两从数据库搭建步骤:
主从复制(master节点):
1.开启MySQL服务,修改my.cnf
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=1
2.重启mysql
mysql.server restart
3.进入mysql账号下:
mysql -u root -p 之后输入密码
创建复制用户:
create user 'user_slave'@'%' identified with mysql_native_password by '123456';
(user_slave是从库复制主库所需账号,%代表任意连接地址)
4.授予user_slave权限(*.*表示所有库)
grant replication slave on *.* to 'user_slave'@'%';
grant replication client on *.* to 'user_slave'@'%';
5.刷新权限
flush privileges;
6. show master status;
主从复制(slave节点):
1.开启MySQL服务,修改my.cnf
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=2
2.登录数据库配置slave
mysql -u root -p 之后输入密码
change master to master_host='192.168.200.94',
master_user='user_slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1064;
(master_host通过ip add命令获得;master_log_file和master_log_pos通过master节点步骤6获得)
3.进入mysql账号下:
mysql -u root -p 之后输入密码
创建复制用户:
create user 'user_slave'@'%' identified with mysql_native_password by '123456';
(user_slave是从库复制主库所需账号,%代表任意连接地址)
4.授予user_slave权限(*.*表示所有库)
grant replication slave on *.* to 'user_slave'@'%';
grant replication client on *.* to 'user_slave'@'%';
5.刷新权限
flush privileges;
6.启动从服务器复制功能
start slave;
7.展示从节点状态
SHOW slave STATUS \G;