mysql数据库安装
首先准备两台CentoS虚拟机,在相同的局域网下并能相互ping通
主服务器IP地址为:192.168.91.133
从服务器ip地址为:192.168.91.134
1、下载mysql--5.7镜像
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2、查看mysql数据包有没有正常下载到本地
ls
3、安装rpm包
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
4、如在安装的过程中使用 rpm -qa | grep mysql 查看是否有旧的mysql,数据包有的话需要删除其它数据包
rpm -qa | grep mysql 查看是否有旧的mysql数据包
rpm -e mysql57-community-release-el7-9.noarch.rpm 删除不需要安装的数据包
5、安装mysql
yum install mysql-community-server
6、在安装过程中如提示秘钥报错,(如没有提示报错责跳过第六条配置命令)
失败的软件包是:mysql-community-common-5.7.42-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-community-server
7、 启动数据库,并查看是否在正常运行,绿色表示正常运行
systemctl start mysqld.service 重启数据库
systemctl status mysqld.service 查看数据库是否正常运行
8、查看数据库初始密码,并登入mysql数据库
grep "temporary password" /var/log/mysqld.log 查看初始密码
mysql -uroot -p 回车最后在输入密码
9、登入之后需要修改简单密码会报错(注:需要修改密码策略)
set global validate_password_policy=0;
set global validate_password_length=4;alter user 'root'@'localhost' identified by '123456'; 修改本地密码
二、设置一主多从
1、关闭防火墙
setenforce 0
iptables -F
2、修改(主)源文件并重启数据库
vim /etc/my.cnf 修改系统原文件
server-id = 11 id-可根据个人设置数字大小(不可与从数字一样)
log-bin=master-bin
log-slave-updates=truewq 保存
systemctl restart mysqld 重启数据库
3、登入数据库,创建一个普通用于登入服务器(用户密码可自行设置),(我这双引号可能有问题)需要各位大佬删除,重新输入双引号;
grant replication slave on *.* to 'root'@'%' identified by '123456';
flush privileges ; 刷新
4、查看二进制文件
show master status;
5、配置从服务器,进入从服务源文件,修改文件内容,保存退出即可,并重启数据库
vim /etc/my.cnf
server-id = 22
relay-log=relay-log-bin 同步日志
relay-log-index=slave-relay-bin.index 定义中继日志位置systemctl restart mysqld 重启数据库
6、进去从mysql服务器,配置偏移量--- ip地址并启动一下从服务器
change master to master_host='192.168.91.133',master_user='root',master_password='123456',master_log_file='master-bin.000001',master_log_pos=154
start slave 启动从服务器
7、查看一下当前的从服务器状态,显示两个yes就代表着成功了
show slave status \G
8、测试,在主数据库上创建表或者库等操作,操作完之后可在从服务器查看
create database db01;
use db01;
create table tb_user(
id int(11) primary key not null auto_increment,
name varchar(50) not null,
sex varchar(1)
)engine=innodb default charset=utf8mb4;
insert into tb_user(id,name,sex) values(null,'Tom', '1'),(null,'Trigger','0'),
(null,'Dawn','1');