RHEL7.9、RHEL9.3——源码安装MySQL
目录
一、环境部署
1. 克隆rhel7.9虚拟机
二、源码安装MySQL
1. 准备工作
2. 源码部署mysql8.0.40
1)安装编译mysql所需软件包
2)编译安装mysql8.0.40
3)生成启动脚本
一、环境部署
1. 克隆rhel7.9虚拟机
-
改名为 “RHEL79_mysql_master” 并修改IP
- 远程登陆连接
- 修改主机名
[root@rhel79 ~]# hostnamectl set-hostname mysql-master
[root@rhel79 ~]# reboot
2. 克隆9.3虚拟机
- 改名为 “RHEL93_mysql_server” 并修改IP
- 远程登陆连接
- 修改主机名
[root@rhel93 ~]# hostnamectl set-hostname mysql-server
[root@rhel93 ~]# reboot
二、源码安装MySQL
1. 准备工作,二者同步骤
- 下载安装包8.0.40
- 链接:https://downloads.mysql.com/archives/community/
- 上传下载后的安装包
[root@mysql-master ~]# cd /opt/ # 将压缩包上传至该路径下
[root@mysql-master opt]# ll # 查看压缩包名称
总用量 479008
-rw-r--r-- 1 root root 490502884 9月 2 14:29 mysql-boost-8.0.40.tar.gz
- 解压缩
[root@mysql-master opt]# tar xf mysql-boost-8.0.40.tar.gz # 解压[root@mysql-master opt]# ll
总用量 479012
drwxr-xr-x 32 7161 31415 4096 9月 18 2024 mysql-8.0.40
-rw-r--r-- 1 root root 490502884 9月 2 14:29 mysql-boost-8.0.40.tar.gz[root@mysql-master opt]# cd mysql-8.0.40/
[root@mysql-master mysql-8.0.40]# ls # 查看
boost doxygen_resources mysql-test sql
client extra MYSQL_VERSION sql-common
cmake include mysys storage
CMakeLists.txt INSTALL packaging strings
components libbinlogevents plugin support-files
config.h.cmake libbinlogstandalone README testclients
configure.cmake libchangestreams router unittest
CONTRIBUTING.md libmysql run_doxygen.cmake utilities
Docs libservices scripts vio
Doxyfile-ignored LICENSE SECURITY.md
Doxyfile.in man share
2. 源码部署mysql8.0.40
1)RHEL7.9
- 安装编译mysql所需软件包
# 安装mysql8的依赖软件----------------------------------------------------------
[root@mysql-master ~]# yum install -y git bison openssl-devel ncurses-devel -y# 安装cmake3-------------------------------------------------------------------
[root@mysql-master ~]# yum list cmake # 查看可安装的版本
可安装的软件包
cmake.x86_64 2.8.12.2-2.el7 baseos[root@mysql-master ~]# vim /etc/yum.repos.d/epel.repo
添加如下内容:
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0[root@mysql-master ~]# yum install cmake3 -y # 安装# 安装gcc-11,找到相关的rpm包上传至linux后解压并安装----------------------------
[root@mysql-master ~]# cd /opt/ # 将gcc-11的安装包上传到该路径下
[root@mysql-master opt]#ll
总用量 534764
-rw-r--r-- 1 root root 57087061 9月 2 14:44 gcc-11.zip
drwxr-xr-x 32 7161 31415 4096 9月 18 2024 mysql-8.0.40
-rw-r--r-- 1 root root 490502884 9月 2 14:29 mysql-boost-8.0.40.tar.gz[root@mysql-master opt]# yum install unzip -y # 安装unzip
[root@mysql-master opt]# unzip gcc-11.zip # 解压缩[root@mysql-master opt]# cd gcc-11/
[root@mysql-master gcc-11]# ls[root@mysql-master gcc-11]# yum install ./*.rpm -y # 安装
[root@mysql-master gcc-11]# source /opt/rh/devtoolset-11/enable # 生效
[root@mysql-master gcc-11]# cat /opt/rh/devtoolset-11/enable >> ~/.bash_profile # 读入[root@mysql-master gcc-11]# gcc -v # 查看版本
gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)
- 编译安装mysql8.0.40
[root@mysql-master ~]# cd /opt/
[root@mysql-master opt]# cd mysql-8.0.40/[root@mysql-master mysql-8.0.40]# mkdir bld # 新建目录
[root@mysql-master mysql-8.0.40]# cd bld下列为一串代码,提示语删掉哦
[root@mysql-master bld]# cmake3 .. \
-DWITH_BOOST=../boost/boost_1_77_0/ \ # 指定MySQL源码编译所依赖的Boost库路径
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # 指定安装路径
-DMYSQL_DATADIR=/data/mysql \ # 指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ # 指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \ # 扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \ # 指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \ # 指定默认校验字符集
-DWITH_SSL=system # 指定MySQL使用系统已安装的 SSL 库# 该过程很久,请耐心等待,利用多核 CPU 资源同时运行 2 个编译进程
[root@mysql-master bld]# make -j 2 [root@mysql-master bld]# make install # 安装
- 生成启动脚本
# 生成启动脚本
[root@mysql-master ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld# 修改环境变量
[root@mysql-master ~]# vim ~/.bash_profile
添加如下内容:
export PATH=$PATH:/usr/local/mysql/bin[root@mysql-master ~]# source ~/.bash_profile # 生效# 建立数据库程序运行用户
[root@mysql-master ~]# useradd -M -s /sbin/nologin mysql# 建立数据库数据目录
[root@mysql-master ~]# mkdir -p /data/mysql/
[root@mysql-master ~]# chown -R mysql:mysql /data/mysql/# 创建配置文件
[root@mysql-master ~]# vim /etc/my.cnf
全部删出,然后添加如下内容:提示语删掉
[mysqld]
datadir=/data/mysql # 指定数据目录
socket=/data/mysql/mysql.sock # 指定套接字
server_id=136 # 写该主机的主机号即可
log-bin=binlog# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/master.err
pid-file=/data/mysql/mysql.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d----------------------------------------------------------------------
# 数据库初始化建立mysql基本数据,注意在输出中查看临时密码
[root@mysql-master ~]# mysqld --initialize --user=mysql
IjhUEt+J>2n.#启动数据库
[root@mysql-master ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/master.err'.
临时密码:. SUCCESS!#修改数据库密码,新密码为123
[root@mysql-master ~]# mysqladmin -uroot -p password '123'
Enter password: IjhUEt+J>2n. # 临时密码
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.#使用新密码登录数据库
[root@mysql-master ~]# mysql -uroot -p123
mysql>
注意:数据库初始化建立mysql基本数据,注意在输出中查看临时密码
2)RHEL9.3
- 安装编译mysql所需软件包
# 安装mysql8的依赖软件--------------------------------------------------
[root@mysql-server ~]# yum install -y git bison openssl-devel ncurses-devel -y# 安装cmake3-----------------------------------------------------------
[root@mysql-server ~]# yum list cmake # 查看版本,是3以上即可
cmake.x86_64 3.20.2-8.el9 App
若安装,同7.9
# 安装gcc,找到相关的rpm包上传至linux后解压并安装-------------------------
[root@mysql-server ~]# yum list gcc # 查看版本,是11即可
gcc.x86_64 11.4.1-2.1.el9 App [root@mysql-server ~]# yum install ncurses ncurses-devel make cmake gcc-c++ openssl-devel bison -y[root@mysql-server opt]# yum install ./*.rpm -y # 安装所需的依赖
- 编译安装mysql8.0.40
[root@mysql-server ~]# cd /opt/
[root@mysql-server opt]# cd mysql-8.0.40/[root@mysql-server mysql-8.0.40]# mkdir bld # 新建目录
[root@mysql-server mysql-8.0.40]# cd bld下列为一串代码,提示语删掉哦
[root@mysql-server bld]# cmake .. \
-DWITH_BOOST=../boost/boost_1_77_0/ \ # 指定MySQL源码编译所依赖的Boost库路径
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # 指定安装路径
-DMYSQL_DATADIR=/data/mysql \ # 指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ # 指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \ # 扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \ # 指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \ # 指定默认校验字符集
-DWITH_SSL=system # 指定MySQL使用系统已安装的 SSL 库# 该过程很久,请耐心等待,利用多核 CPU 资源同时运行 2 个编译进程
[root@mysql-server bld]# make -j 2[root@mysql-server bld]# make install # 安装
- 生成启动脚本
# 生成启动脚本
[root@mysql-server ~]# mkdir -p /etc/init.d/
[root@mysql-server ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld# 修改环境变量
[root@mysql-server ~]# vim ~/.bash_profile
添加如下内容:
export PATH=$PATH:/usr/local/mysql/bin[root@mysql-server ~]# source ~/.bash_profile # 生效# 建立数据库程序运行用户
[root@mysql-server ~]# useradd -M -s /sbin/nologin mysql# 建立数据库数据目录
[root@mysql-server ~]# mkdir -p /data/mysql/
[root@mysql-server ~]# chown -R mysql:mysql /data/mysql/# 创建配置文件
[root@mysql-server ~]# vim /etc/my.cnf
全部删除,然后添加如下内容:
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
server_id=134
log-bin=binlog# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/master.err
pid-file=/data/mysql/mysql.pid#
# include all files from the config directory
#
# !includedir /etc/my.cnf.d----------------------------------------------------------------------
# 数据库初始化建立mysql基本数据,注意在输出中查看临时密码
[root@mysql-server ~]# mysqld --initialize --user=mysql
临时密码:slbS3b7HbO/N#启动数据库
[root@mysql-server ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/master.err'.SUCCESS!#修改数据库密码,新密码为123
[root@mysql-server ~]# mysqladmin -uroot -p password '123'
Enter password: slbS3b7HbO/N # 临时密码
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.#使用新密码登录数据库
[root@mysql-server ~]# mysql -uroot -p123
mysql>
- 数据库初始化建立mysql基本数据,注意在输出中查看临时密码