XX项目MySQL8.0.18 安装步骤
一、MySQL安装
1.1 环境准备
资源 | 系统版本 | 地址 |
---|---|---|
主机A | CentOS Linux release 7.1.1503 | 172.16.200.34 |
主机B | CentOS Linux release 7.1.1503 | 172.16.200.35 |
1.2 查看Linux系统版本
cat /etc/redhat-release
1.3 下载MySQL8.0.18安装包(rpm安装方式)
- 打开地址:https://dev.mysql.com/downloads/,并选择MySQL Community Server
- MySQL Community Server最新版本为8.0.19,按照要求需要安装8.0.18,点击【Archives】
- Product Version: 选择 8.0.18
- Select Operating Syste: 选择 Red Hat Enterprise Linux / Oracle Linux
- Select OS Version: 选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
- 选择【Compressed TAR Archive】,点击【Download】下载mysql-8.0.18-el7-x86_64.tar.gz
- 将mysql-8.0.18-el7-x86_64.tar.gz文件上传压缩包到/usr/local目录下
1.4 卸载mariadb
-
centos7内部集成了mariadb,安装mysql的话会和mariadb文件冲突,所以需要先卸载mariadb。
-
查看 mariadb 的安装包
rpm -qa | grep mariadb
- 查看 mariadb 的安装包
yum -y remove mariadb*
- 查看 mariadb 的安装包是否卸载成功
rpm -qa | grep mariadb
1.5 上传mysql-8.0.18-el7-x86_64.tar.gz
-
通过命令
cd /usr/local
,该目录是放一些本地的共享资源。 -
将资源上传至
/usr/local/
1.6 解压tar包
- 通过解压缩。
cd /usr/local
tar zxvf mysql-8.0.18-el7-x86_64.tar.gz -C /usr/local
mv mysql-8.0.18-el7-x86_64 mysql
1.7 创建用户组和用户
- 进入 /usr/local/mysql 目录
//创建用户组
groupadd mysql
//创建用户
useradd -r -m -g mysql mysql
//设置密码 mysql,连续输入两次即可
passwd mysql
1.8 MySQL创建data文件夹
- 创建数据库文件存储地址
cd /usr/local/mysql
mkdir data
1.9 MySQL目录授权
- 目录授权mysql用户组
cd ..
chown -R mysql mysql/
chgrp -R mysql mysql/
1.10 MySQL配置
- 通过命令
vi /etc/my.cnf
,打开MySQL配置文件,增加配置信息如下
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 设置3306端口
port=3306
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 表名不区分大小写
lower_case_table_names=1
#任意自然n,只需要保证两台mysql主机不重复就可以
server-id = 131
#开启二进制日志
log-bin=mysql-bin
#binlog单文件最大值
max_binlog_size=1024M
#起始值,一般填写第n台主机mysql.此时为第一台主 mysql
auto_increment_offset=1
#步进值auto_imcrement 。一般有n台主mysql就填n
auto_increment_increment=2
#指定同步的数据库,不填写则默认所有的数据库
replicate-do-db=gohealth-plat
log-slave-updates=true
secure_file_priv=/
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
protocol=tcp
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
1.11 MySQL初始化
//进入mysql 安装目录
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US --lower_case_table_names=1
- 记住临时密码
1.12 启动服务
cd ..
cd support-files/
./mysql.server start
- 将MySQL加入系统进程中
cp mysql.server /etc/init.d/mysqld
1.13 MySQL的3306端口开放
/* 配置将3306端口开放 --permanent永久生效,没有此参数重启后失效*/
firewall-cmd --zone=public --add-port=3306/tcp --permanent
/* 重新载入*/
firewall-cmd --reload
/* 查看*/
firewall-cmd --zone=public --query-port=3306/tcp
1.14 登录MySQL设置远程访问
cd ..
cd bin/
./mysql -u root -p
//依次执行脚本
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
exit;
ln -s /usr/local/mysql/bin/mysql /usr/bin
//重新启动
service mysqld restart