数据库运维
记录DBA学习成长历程

2. MySQL 8.0企业安装实施

文章目录

1 确认支持列表:Supported Platforms

2 确认版本

准备安装MySQL时,请确定要使用哪个版本和发行格式(二进制或源码)。

首先,决定要安装开发版本还是通用版本(GA)。开发版本具有最新功能,但不建议用于生产环境。

GA版本(也称为生产版本或稳定版本)是供生产使用的。

3 软件命名规则

MySQL 8.0中的命名方案使用的发行版名称由三个数字和一个可选的后缀组成(例如, **mysql-8.0.1-dmr**)。版本名称中的数字解释如下:

- 第一个数字(**8**)是主版本号。

- 第二个数字(**0**)是次要版本号。总而言之,主要和次要数字构成发行版本号。序列号描述了稳定的功能集。

- 第三个数字(**1**)是发行系列中的版本号。对于每个新的错误修正版本,此值均递增。在大多数情况下,系列中的最新版本是最佳选择。

版本名称也可以包含一个后缀,以指示版本的稳定性。在一系列发行中,发布会通过一组后缀来指示稳定性水平如何提高。可能的后缀是:

- **dmr**指示开发里程碑版本(DMR)。MySQL开发使用里程碑模型,其中每个里程碑都引入了一小部分经过全面测试的功能。从一个里程碑到下一个里程碑,基于尝试这些正常发布的社区成员提供的反馈,功能界面可能会更改,甚至功能可能会被删除。里程碑版本中的功能可能被视为具有预生产质量。

- **rc**表示发布候选(RC)。通过了MySQL的所有内部测试后,发布候选版本被认为是稳定的。RC版本中可能仍会引入新功能,但是重点将转移到修复错误上,以稳定本系列中较早引入的功能。

- 没有后缀表示具有一般可用性(GA)或正式版。GA版本稳定,已成功通过了较早的发行阶段,并且被认为是可靠的,没有严重的错误并且适合在生产系统中使用。

4 获取 MySQL软件

https://downloads.mysql.com/archives/community/

5 MD5验证软件包

md5sum mysql-xxx.tar.gz
aaab65abbec64d5e907dcd41b8699945 mysql-xxx.tar.gz

6 MySQL 8.0.x安装过程

—6.1 安装依赖包

[root@db01 ~]# yum install -y libaio

—6.2 清理历史环境

[root@db01 ~]# rpm -qa|grep mariadb
yum remove -y mariadb-libs
\rm -rf /etc/my.cnf*

—6.3 创建用户

[root@localhost ~]# useradd mysql

—6.4 上传软件

[root@localhost ~]# cd /opt
[root@localhost ~]# yum install -y lrzsz
[root@localhost opt]# tar xf mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
[root@localhost opt]# ln -s /opt/mysql-8.0.24-linux-glibc2.12-x86_64 /usr/local/mysql

—6.5 修改环境变量

[root@localhost opt]# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@localhost opt]# source /etc/profile

# 测试环境变量
[root@localhost opt]# mysql -V
mysql Ver 8.0.24 for Linux on x86_64 (MySQL Community Server - GPL)

—6.6 创建数据目录并授权

[root@localhost ~]# mkdir -p /data/3306/data
[root@localhost ~]# chown -R mysql.mysql /data

—6.7 创建配置文件

[root@localhost ~]# rm -rf /etc/my.cnf
[root@localhost ~]# vi /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
server_id=51
[mysql]
socket=/tmp/mysql.sock

—6.8 初始化数据(建库)

[root@localhost ~]# mysqld --initialize-insecure
[Warning] [MY-010453] [Server] root@localhost is created with an empty password 

! Please consider switching off the --initialize-insecure option.

或者:
[root@localhost ~]# mysqld --initialize
# 两种方法的区别:
--initialize:初始化时,会自动创建超级管理员(root@'localhost'),生成随机密码,
12位,4种密码复杂度。这个密码,需要在第一次登陆时修改掉才可以正常管理数据。
# 如果遇到以下报错:
[ERROR] [MY-010457] [Server] --initialize specified but the data directory has 
files in it. Aborting. 
如果是全新环境: 
[root@localhost ~]# rm -rf /data/3306/data/*

—6.9 启动数据库

[root@localhost data]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# ./mysql.server start
Starting MySQL.Logging to '/data/3306/data/db01.err'.
. SUCCESS!

——6.9.1 SYS-V启动方式

[root@localhost support-files]# cp /usr/local/mysql/support-files/mysql.server
/etc/init.d/mysqld
[root@localhost ~]# service mysqld restart
Shutting down MySQL. [ OK ]
Starting MySQL.. [ OK ]
[root@localhost ~]# service mysqld stop
Shutting down MySQL.. [ OK ]
[root@localhost ~]# service mysqld start
Starting MySQL.. [ OK ]
[root@localhost ~]# service mysqld status
SUCCESS! MySQL running (8334)

——6.9.2 systemd方式

[root@localhost ~]# service mysqld stop
Shutting down MySQL.. [ OK ]
[root@localhost ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl status mysqld
[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# systemctl start mysqld

—6.10 安装后登陆

[root@localhost data]# mysql
赞(1)
MySQL学习笔记 » 2. MySQL 8.0企业安装实施