淘先锋技术网

首页 1 2 3 4 5 6 7

一.MySQL 下载

官网下载地址 选择合适自己的版本下载

在这里插入图片描述

二.MySQL RPM 安装

Anolis 虚拟机已安装,建议用全新环境安装,避免出现奇怪报错

1.升级 OpenSSL 3.0

OpenSSL 源码包下载地址

在这里插入图片描述

安装

## 1.安装
yum install -y perl-CPAN
## 2.进入 perl shell 中
perl -MCPAN -e shell
## 3.添加阿里云的源地址(可删除默认的配置,否则不一定会走阿里源下载)
o conf urllist remove 0
o conf urllist push http://mirrors.aliyun.com/CPAN/ 
## 4.确认添加
o conf commit 
## 5.安装缺少的模块
install IPC/Cmd.pm
## 6.安装依赖库
yum -y install gcc gcc-c++ glibc make cmake autoconf openssl openssl-devel pcre-devel  pam-devel rpcgen
## 7.解压缩
tar zxvf openssl-3.1.1.tar.gz
## 8.进入解压后的目录
cd openssl-3.1.1/
## 9.编译配置(可以指定安装位置: ./config --prefix=/usr/local/openssl)
./config
## 10.编译和安装
make -j8 && make install
## 11.备份
mv /usr/bin/openssl /usr/bin/openssl.bak
## 12.创建软连接
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -sf /usr/local/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -sf /usr/local/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
## 13.配置库
echo '/usr/lib64/libssl.so.3' >> /etc/ld.so.conf
echo '/usr/lib64/libcrypto.so.3' >> /etc/ld.so.conf
## 14.刷新库
ldconfig
## 15.查看版本
openssl version 

安装 IPC/Cmd.pm

在这里插入图片描述
在这里插入图片描述
配置、编译和安装 OpenSSL
在这里插入图片描述

查看版本

在这里插入图片描述

2.升级 GLIBC 2.34

## 1.查看 GLIBC 版本(需要依赖 GLIBC_2.33 或 GLIBC_2.34 )
strings /lib64/libc.so.6 |grep GLIBC_
## 2.安装高版本 GLIBC
rpm -ivh --force glibc-2.34-72.el9.x86_64.rpm \
glibc-common-2.34-72.el9.x86_64.rpm \
glibc-gconv-extra-2.34-72.el9.x86_64.rpm \
glibc-langpack-aa-2.34-72.el9.x86_64.rpm \
libstdc++-11.4.1-2.1.el9.x86_64.rpm

库文件 RPM 包下载

安装 GLIBC

在这里插入图片描述

查看 GLIBC 版本

在这里插入图片描述

3. RPM 安装 MySQL

## 1.创建解压目录
mkdir -p /home/mysql
## 2.解压缩 mysql 到指定位置
tar xvf mysql-8.0.33-1.el9.x86_64.rpm-bundle.tar -C /home/mysql
## 3.进入安装位置并执行安装命令
cd /home/mysql 
rpm -ivh mysql-community-common-8.0.33-1.el9.x86_64.rpm \
mysql-community-client-plugins-8.0.33-1.el9.x86_64.rpm \
mysql-community-icu-data-files-8.0.33-1.el9.x86_64.rpm \
mysql-community-libs-8.0.33-1.el9.x86_64.rpm \
mysql-community-devel-8.0.33-1.el9.x86_64.rpm \
mysql-community-client-8.0.33-1.el9.x86_64.rpm \
mysql-community-icu-data-files-8.0.33-1.el9.x86_64.rpm \
mysql-community-server-8.0.33-1.el9.x86_64.rpm --force --nodeps 
## 4.服务管理
systemctl start mysqld
systemctl status mysqld
systemctl restart mysqld
systemctl stop mysqld
## 5.查看安装时生成的随机密码
cat /var/log/mysqld.log
## 6.设置开机启动
systemctl enable mysqld
## 7.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

解压缩安装包到指定目录

在这里插入图片描述

执行安装命令并启动服务查看状态

在这里插入图片描述

查看密码

在这里插入图片描述

4.配置 MySQL

## 登录
mysql -u root -p
## 先重置 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '7X_uFq<3;Efw1';
## 再修改密码校验策略(数次安装必须先重置密码才能执行其他操作)
SET GLOBAL VALIDATE_PASSWORD.POLICY=0;
## 再重置 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
## 创建一个新用户用于远程访问
CREATE USER 'admin'@'%' IDENTIFIED BY '12345678';
## 为新账号授权
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
## 刷新权限
FLUSH PRIVILEGES;
## 退出
quti

初始化配置

在这里插入图片描述

连接配置
在这里插入图片描述
连接成功

在这里插入图片描述

5.卸载


## 1.停止服务
systemctl stop mysqld
## 2.查看状态
systemctl status mysqld
## 3.查看已安装的 RPM 包
rpm -qa | grep mysql
## 4.卸载 RPM
rpm -e `rpm -qa | grep mysql`
## 5.删除残留文件(谨慎操作)
rm -rf /root/.mysql_history
rm -rf /var/lib/mysql
rm -rf /var/log/mysqld.log
rm -rf /usr/lib64/mysql
rm -rf /usr/lib/firewalld/services/mysql.xml
rm -rf /usr/share/mysql-8.0
rm -rf /usr/share/bash-completion/completions/mysql
rm -rf /usr/share/bash-completion/completions/mysqladmin
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /etc/systemd/system/multi-user.target.wants/mysqld.service

停止服务、查看 RPM 包。卸载

在这里插入图片描述

三.MySQL SourceCode 安装(建议使用 RPM 安装,源码比较耗时)

1.源码下载

操作系统选择源码:

在这里插入图片描述

选择版本(选择下面自带 boost 的版本,就不用单独下载 boost 了)

在这里插入图片描述

2.下载 boost

Boost 下载 (比较慢)

在这里插入图片描述

2.源码安装

建议用全新虚拟机系统环境,避免出现问题,我之前 cmake 通过,但真正 make 时出现 c 文件编译引用方法未定义的问题
本教程针对 Anolis OS release 8.6 系统 全新安装
## 1.解压缩源码包
tar zxvf mysql-8.0.33.tar.gz
## 2.解压 boost
tar zxvf boost_1_77_0.tar.gz -C mysql-8.0.33/
## 3.修改源文件,查看要修改的文件(不修改编译完成后本地登录报错)
find mysql-8.0.33/ -name "*.c" | xargs grep "area = buf"
## 4.找到 842 和 1464 行,注释掉 "char buf[TC_BUFSIZE]"
vim mysql-8.0.33/extra/libedit/libedit-20210910-3.1/src/terminal.c
## 5.将对应 area 改为 NULL

在这里插入图片描述

## 1.进入解压后目录
cd mysql-8.0.33/
## 2.安装依赖库
yum -y install gcc gcc-c++ glibc make cmake autoconf openssl openssl-devel pcre-devel  pam-devel rpcgen ncurses-devel libtirpc-devel
## 3.创建安装目录
mkdir -p /opt/mysql/data
## 4.安装配置(启用所有的存储引擎、禁用原生 InnoDB、启用 InnoDB Plugin 指定安装目录)
cmake . -DWITH_BOOST=boost_1_77_0 -DWITH_UNIT_TESTS=OFF -DWITH_EMBEDDED_SERVER=OFF -DWITH_INNOBASE_STORAGE_ENGINE=OFF -DWITH_ARCHIVE_STORAGE_ENGINE=ON -DWITH_BLACKHOLE_STORAGE_ENGINE=ON -DWITH_FEDERATED_STORAGE_ENGINE=ON -DWITH_PARTITION_STORAGE_ENGINE=ON -DWITH_ROCKSDB=OFF -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DCMAKE_INSTALL_PREFIX=/opt/mysql -DDEFAULT_LIBMYSQLCLIENT_VERSION=8.0 -DINSTALL_DOCREADER=1 -DINSTALL_MYSQLTEST=OFF -DINSTALL_SQLBENCHDIR=OFF -DCMAKE_BUILD_TYPE=Release -DMYSQL_DATADIR=/opt/mysql/data -DDOWNLOAD_BOOST=1 -DFORCE_INSOURCE_BUILD=1
## 5.编译和安装
make -j4 && make install
cmake 结果,如果编译过程报错,根据提示安装指定依赖库或包即可

在这里插入图片描述

编译过程(整个编译和安装比较耗时)

在这里插入图片描述

安装记录

在这里插入图片描述

查看安装目录

在这里插入图片描述

3.MySQL 初始化

当前启动用户直接使用了 root 用户,可以单独创建 mysql 用户并以其启动,但是注意要为 mysql 用户设置安装目录和数据目录权限
## 1.复制启动项并授权
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
## 2.创建配置文件并写入配置信息(/etc/my.cnf 为一个默认位置)
touch /etc/my.cnf
## 3.写入以下信息
echo '[mysqld]
user=root
basedir=/opt/mysql
datadir=/opt/mysql/data
port=3306
pid-file=/opt/mysql/data/mysql.pid
character-set-server=utf8
log_error=/opt/mysql/log/mysql-error.log
slow_query_log=1
long_query_time=1
slow_query_log_file=/opt/mysql/log/mysql-slow.log' >> /etc/my.cnf
## 4.创建日志目录并初始化
mkdir -p /opt/mysql/log
cd /opt/mysql/bin
./mysqld --initialize --user=root --basedir=/opt/mysql --datadir=/opt/mysql/data
## 5.关闭并禁用防火墙
systemctl stop firewalld && systemctl disable firewalld
## 6.启动服务、查看状态、停止服务
systemctl start mysqld
systemctl status mysqld
systemctl stop mysqld
## 7.配置环境变量
echo 'export MYSQL_HOME=/opt/mysql' >> /etc/profile
echo 'export PATH=${MYSQL_HOME}/bin:${MYSQL_HOME}/lib:${PATH}' >> /etc/profile
source /etc/profile

my.cnf 配置

在这里插入图片描述

启动 mysql 并查看状态

在这里插入图片描述

查看临时密码: cat /opt/mysql/log/mysql-error.log

在这里插入图片描述

本地登录:mysql -u root -p 复制上面的密码并输入

## 先重置 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '7X_uFq<3;Efw1';
## 此处和 RPM 安装不同, 先启用密码校验策略
install plugin validate_password soname 'validate_password.so';
## 查看
SHOW VARIABLES LIKE 'validate_password%';
## 重置
SET GLOBAL validate_password_policy=0;
## 再重置 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
## 创建一个新用户用于远程访问
CREATE USER 'admin'@'%' IDENTIFIED BY '12345678';
## 为新账号授权
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
## 刷新权限
FLUSH PRIVILEGES;
## 退出
quti

在这里插入图片描述

4.连接测试

在这里插入图片描述
在这里插入图片描述