需要卸载Mariadb
rpm -qa|grep mariadb
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa|grep mariadb
安装依赖
yum install -y perl net-tools libaio
1.关闭防火墙
systemctl stop firewalld #临时关闭
systemctl disable firewalld #永久关闭
setenforce 0 临时关闭SELinux
永久关闭SELinux # 可选操作
vim /etc/selinux/config
SELINUX=enforcing #修改为"SELINUX=disabled"
修改完需重启
reboot
2.拉取MySQL包
官网地址:
https://downloads.mysql.com/archives/community/
我这里下载的8.0.27版本 64位
wget下载
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
3.解压安装
解压到 /usr/local/下
tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
解压后进入目录修改名字为 mysql
cd /usr/local
mv mysql-8.0.27-linux-glibc2.12-x86_64/ mysql
4.创建用户及权限
创建mysql用户和用户组:
groupadd mysql
useradd -g mysql mysql
将mysql目录的权限授给mysql用户和mysql组
chown -R mysql:mysql /usr/local/mysql
5.创建MySQL数据存目录
cd /usr/local/mysql/
mkdir data
6.修改配置文件
vim /etc/my.cnf
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
# 设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为8比特编码的latin1字符集,修改为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=0
同时使用如下命令创建/var/lib/mysql 目录,并修改权限:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
7.初始化Mysql
cd /usr/local/mysql
执行初始化命令:
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后记得保存初始化密码
自启动:
cp ./support-files/mysql.server /etc/init.d/mysqld
修改添加 /etc/init.d/mysqld 修改其basedir 和datadir
vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
设置MYSQL系统服务并开启自启
首先增加mysqld 服务控制脚本执行权限:
chmod +x /etc/init.d/mysqld
同时将mysqld 服务加入到系统服务:
chkconfig --add mysqld
检查mysqld 服务是否已经生效即可:
chkconfig --list mysqld
可能会用到的一个软连接 如果启动没问题就不需要
ln -s /usr/local/mysql/bin/mysql /usr/bin/
环境变量
将MYSQL 的BIN 目录加入PATH 环境变量
这样方便以后在任意目录上都可以使用mysql 提供的命令。
编辑 ~/.bash_profile 文件。
vim ~/.bash_profile
//在文件末尾处追加如下信息
export PATH=$PATH:/usr/local/mysql/bin
//最后执行如下命令使环境变量生效
source ~/.bash_profile
8.启动
启动测试
service mysqld start
9.修改mysql密码
进入mysql
进入后输入命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '*********';
flush privileges;
-- 设置root用户远程登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
mysql-8.0部署完成!
主从部署:
首先呢根据需求配置,确定master和slave,还有就是机器的数量
确定好之后,我们先在master端进行操作
先去改配置文件 (/etc/my.cnf)
master:
log-bin=mysql-bin
server-id=1slave:
server-id=2
1. 清理缓存
reset slave;
2.查看节点信息
show master status\G
3·创建用户授权
CREATE USER 'slave'@'%' IDENTIFIED BY 'grx991202@';
alter user 'slave'@'%' identified with mysql_native_password by 'grx991202@';
grant all privileges on *.* to 'slave'@'%' with grant option;
flush privileges ;
slave操作
1.执行
\e
change master to
master_host='192.168.92.120',
master_user='slave',
master_port=3306,
master_password='grx991202@',
master_log_file='binlog.000020',
master_log_pos=1148;
wq保存出来后记得还有个 ;
2·. 启动slave,查看状态
start slave ;
show slave status\G