点击蓝字 阅读更多干货
第一章 MySQL 安装
MySQL 安装有三种方式,基于二进制,源码和 rpm 方式安装。其中 rpm 安装可以使用 yum 命令和 rpm 命令进行安装。
1.1 使用源码安装
下载源码包,地址: https://dev.mysql.com/downloads/mysql/

1. 上传源码包到 /opt/software 目录下
[root@server1 software]# lsmysql-boost-8.0.27.tar.gz[root@server1 software]#
2. 解压安装包
[root@server1 software]# tar -zxf mysql-boost-8.0.27.tar.gz[root@server1 software]# lsmysql-8.0.27 mysql-boost-8.0.27.tar.gz
3. 切换到解压目录
[root@server1 software]# cd mysql-8.0.27/[root@server1 mysql-8.0.27]#
4. 源码安装条件
· Cmake
· make
make 版本高于3.75 版本可以通过如下命令查看
[root@server1 mysql-8.0.27]# make --versionGNU Make 3.82Built for x86_64-redhat-linux-gnuCopyright (C) 2010 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or laterThis is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.[root@server1 mysql-8.0.27]#
· MySQL 8.0.27 版本使用 C++17 的特性,以下系统编译版本需要满足
Linux: GCC 7.1 或者 Clang 5
macOS: Xcode 10
Solaris: GCC 10
Windows: Visual Studio 2019 Update 4
· MySQL 中使用的C api 需要 C++ 或者 C99 编译器提供
· 加密连接需要使用openssl库
· Boost C++ 库请求,下载的Boost MySQL源码包已自带
· ncurses 库请求
· 足够的内存,MySQL 编译期间,需要足够的内存,如果内存不够,使用Swap内存,那么编译速度会很慢
· 如果需要运行测试脚本,那么需要安装 Perl
· tar unzip rpm 命令(操作系统选择了development tools ,那么都已安装好)
· bison 2.1 以上
以下为检查结果:
[root@server1 mysql-8.0.27]# gcc --versiongcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)Copyright (C) 2015 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.[root@server1 mysql-8.0.27]# bison --versionbison (GNU Bison) 3.0.4Written by Robert Corbett and Richard Stallman.Copyright (C) 2015 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.[root@server1 mysql-8.0.27]#[root@server1 mysql-8.0.27]# free -mtotal used free shared buff/cache availableMem: 16027 731 13733 11 1563 14976Swap: 16383 0 16383[root@server1 mysql-8.0.27]# openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017[root@server1 mysql-8.0.27]#[root@server1 mysql-8.0.27]# rpm -qa ncursesncurses-5.9-14.20130511.el7_4.x86_64
MySQL 在编译过程中会寻找调用API 时使用的头文件,因此,确保 ncurses bison openssl 的devel 包已经安装。
[root@server1 mysql-8.0.27]# yum install -y ncurses-devel openssl-devel bison-devel cmake3 scl-utils policycoreutils-python-2.5-34.el7.x86_64 libzstd editline-devel openldap-devel openldap-devellibedit-devel lz4-devel libicu-devel protobuf-devel libcurl-develre2-devel unixODBC-devel libudev-devel perl-IPC-Cmd systemd-devel
这里需要注意的是 libevent 需要使用2.1版本以上,使用源码编译
libicu库的版本至少是55,使用源码编译安装
protobuf 版本至少是3.5以上需要源码编译
zlib 版本至少是 1.2.11,需编译安装
libtirpc 版本至少是1以上,需编译安装
系统自带openssl 版本低,不支持 zlib 命令,选择编译安装
5. 添加 mysql 操作系统用户

6. 切换到源码解压构建源码文件
[root@server1 ~]# cd /opt/software/mysql-8.0.27/[root@server1 mysql-8.0.27]# mkdir bld[root@server1 mysql-8.0.27]# cd bld/
7. 源码配置选项
在执行 cmake3 之前,需要先安装以下包,可从网站下载 https://cbs.centos.org/koji/
devtoolset-10-binutils-2.35-5.el7.3.x86_64.rpm devtoolset-10-libstdc++-devel-10.2.1-11.2.el7.x86_64.rpm mysql-boost-8.0.27.tar.gzdevtoolset-10-gcc-10.2.1-11.2.el7.x86_64.rpm devtoolset-10-runtime-10.1-0.el7.x86_64.rpm devtoolset-10-gcc-c++-10.2.1-11.2.el7.x86_64.rpm
执行安装
[root@server1 software]# for pkg in `ls *.rpm`;do rpm -ivh $pkg;done[root@server1 bld]# cmake3 ../ -DWITH_BOOST=/opt/software/mysql-8.0.27/boost
8. 执行编译
1 [root@server1 bld]# make -j16
编译结果如下则表示编译成功

9. 执行安装
[root@server1 bld]# make install -j16
出现如下结果表明编译安装成功

10. 检查安装目录

1.2 MySQL 安装目录概览
软件安装完成后,会在安装目录下生成以下目录

其中bin 目录可执行程序的含义:
bin:MySQL 可执行程序的目录

mysqld: SQL 守护进程,换句话说,就是MySQL 服务器守护进程。客户端访问数据库必须保证该守护进程运行。
mysqld_safe:服务器启动脚本。
mysql_secure_install:安装MySQL数据库集簇以增强安全性的程序,具体表现如下:
· 可以设置 root 账户密码
· 移除 root 账户通过 localhost 访问权限
· 移除匿名用户账户
· 移除test 数据库
mysql_ssl_rsa_setup:配属数据库使用SSL 或者 RSA进行安全连接。
mysqlimport: 是 LOAD DATA SQL语句的外部客户端工具
mysqldump: 数据库对象的逻辑导出客户端工具,导出的文件默认为平文本
mysqlpump: 数据库对象逻辑导出的并行客户端工具
mysqlshow: 用来显示数据库、表、列、索引信息的客户端工具
mysql_config_editor: 用来生成免密登录 MySQL 数据库的相关凭证
mysqldumpslow: 用来解析 MySQL 慢日志的工具客户端
perror: 用来显示MySQL 错误代码的工具
zlib_decompress: 用来解压使用 mysqlpump 工具备份时使用 zlib 压缩的文件的客户端工具
mysqlbinlog: 用来读取 binlog 日志的客户端工具
myisampack: 用来将 MyISAM 表压缩生成更小的只读表的客户端工具
myisamlog: 用来处理 MyISAM 日志文件内容的客户端工具
1. 配置 MySQL 环境变量

2. 编辑配置文件my.cnf

2. 创建配置文件中必要的目录和授权

3. 修改系统服务配置文件中的 MYSQLD_OPTS变量

4. 初始化MySQL 数据库集簇

5. 配置安全连接

6. 启动 MySQL 实例

7. 查看默认初始化密码

8. 使用默认密码登录

9. 配置系统服务

使用 systemctl 启动 MySQL 实例

这里需要注意一下,目前原因不明,就是在启动的时候,所有的插件共享库会从数据目录下去寻找相关库,而编译安装的插件共享库在 /usr/local/mysql/lib/plugin/ 目录下。因此将编译安装目录下的插件库拷贝到 /data1/mysql/目录下

然后重新启动MySQL 数据库实例

10. 修改MySQL 用户的默认密码
首次使用MySQL 数据库实例,需要修改默认密码才可以使用,否则会出现如下信息:

修改默认密码

修改密码完成后可以使用新密码进行登录


期待你的
分享
点赞
在看




