拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. O&M(Operations and Maintenance)
  3. Universal部署
  4. 正文

Universal搭建流程之二—LNMP环境搭建之2—MySQL8.0.35

2024年4月29日 995点热度 0人点赞 0条评论

目录

  • 零、两种方式安装数据库
    • 1、二进制方式安装
    • 2、源码安装(本章)
  • 一、操作系统优化
    • 1、系统安装-克隆并优化
    • 2、系统优化后并快照
    • 3、升级内核版本
      • (1)内核文件下载
      • (2)安装内核
      • (3)查看内核版本
      • (4)重启,选择最新内核版本
      • (5)重启并查看
  • 二、数据库安装
    • 1、安装包依赖
    • 2、数据库安装包下载
    • 3、用户及目录准备
    • 4、安装高版本cmake
      • (1)移除原cmake
      • (2)下载cmake包
      • (3)方法1:编译安装
      • (4)方法2:使用二进制包运行(高版本)
      • (5)设置环境变量
    • 5、升级gcc到11版本
      • (1)安装依赖
      • (3)将新版本位置替换老版本gcc
      • (4)版本查看
    • 6、安装数据库
      • (1)编译
      • (2)编译安装
    • 7、初始化数据库
    • 8、配置my.cnf
    • 9、启动测试
    • 10、配置自动启动
      • (1)下载mysql.server启动配置文件
      • (3)备份support-files中的mysql.sever,并移入下载的mysql.server
      • (4)下载mysqld配置
      • (5)修改对应配置(如果mysql.server在其他目录下)
      • (6)拷贝文件到Linux 7的/usr/lib/systemd/system/目录下
      • (7)配置自动启动
      • (8)测试停止mysqld服务

零、两种方式安装数据库

1、二进制方式安装

--https://www.topunix.com/post-11790.html

2、源码安装(本章)

一、操作系统优化

1、系统安装-克隆并优化

--https://www.topunix.com/post-10615.html

2、系统优化后并快照

3、升级内核版本

(1)内核文件下载

(默认内核为3.10,在安装MySQL8.0.35是需要更高版本的内核)

https://dl.lamp.sh/kernel/el7/kernel-ml-5.10.48-1.el7.x86_64.rpm

https://dl.lamp.sh/kernel/el7/kernel-ml-devel-5.10.48-1.el7.x86_64.rpm

https://dl.lamp.sh/kernel/el7/kernel-ml-headers-5.10.48-1.el7.x86_64.rpm

(2)安装内核

yum localinstall kernel-*

如果出现如下错误:
Error: kernel-ml-tools-libs conflicts with kernel-tools-libs-5.4.129-200.el7.x86_64
Error: kernel-ml-headers conflicts with kernel-headers-5.4.129-200.el7.x86_64
Error: kernel-ml-tools conflicts with kernel-tools-5.4.129-200.el7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

解决方法:按照提示添加 --skip-broken,即

yum localinstall kernel-ml-* --skip-broken

(3)查看内核版本

awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

(4)重启,选择最新内核版本

从3中查出,从0开始

grub2-set-default 0

(5)重启并查看

 uname -r
5.10.48-1.el7.x86_64

二、数据库安装

1、安装包依赖

注意:这里的gcc默认版本较低,后面安装redis6.0.14和MySQL8.0.*,,需要更高级别的,此处的gcc可以先不用安装。(第二个注意的点)

yum install cmake gcc gcc-c++ ncurses-devel.x86_64 lrzsz.x86_64 cmake.x86_64 libaio.x86_64 bison.x86_64 gcc-c++.x86_64 bind-utils wget curl curl-devel perl openssh-clients setuptool sysstat make redhat-lsb* -y
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel

2、数据库安装包下载

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.35.tar.gz
wget

3、用户及目录准备

tar -xf mysql-boost-8.0.35.tar.gz
cd mysql-8.0.35/
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
mkdir -p /usr/local/mysql
mkdir -p /home/mysql
chown -R mysql.mysql /usr/local/mysql/
mkdir -p /mysql/data
chown -R mysql.mysql /mysql/data
chmod -R 755 /home/mysql/
chmod -R 755 /usr/local/mysql/

4、安装高版本cmake

(1)移除原cmake

yum -y remove cmake

(2)下载cmake包

wget https://cmake.org/files/v3.12/cmake-3.12.1.tar.gzw

(3)方法1:编译安装

--bootstrap配置编译
cd /software
tar zxvf cmake-3.12.1.tar.gz
cd cmake-3.12.1

./boostrap --gmake
编译(因为boostrap完成后,让用gmake编译,所以此处不使用make) gmake
--gmake install安装(或make install)
gmake install
--cmake版本查看
cmake --version

(4)方法2:使用二进制包运行(高版本)

cd /usr/local/src/
wget https://github.com/Kitware/CMake/releases/download/v3.15.3/cmake-3.15.3-Linux-x86_64.tar.gz
# tar -xf cmake-3.15.3-Linux-x86_64.tar.g
# cp -r cmake-3.15.3-Linux-x86_64 /usr/local/cmake

(5)设置环境变量

# vi /etc/profile

export CMAKE_PATH=/usr/local/cmake
export PATH=$PATH:$CMAKE_PATH/bin
# source /etc/profile
# cmake -version

5、升级gcc到11版本

参照:https://www.cnblogs.com/StudyApe/p/16474177.html

centos7 默认的 gcc 默认是4.8.5,但是此版本有些程序无法编译。需要新版GCC编译。

下面是升级新版gcc,配置永久生效命令。

(1)安装依赖

mount /dev/cdrom /mnt
mv /etc/yum.repos.d/bak/* /etc/yum.repos.d/   --需要使用在线源
yum -y install centos-release-scl

(2)安装新版本

Yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils

(3)将新版本位置替换老版本gcc

此方式不需要设置环境变量,简单。

mv /usr/bin/gcc /usr/bin/gcc.bak
ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++.bak
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++.bak
ln -s /opt/rh/devtoolset-11/root/bin/c++ /usr/bin/c++
mv /usr/bin/cpp /usr/bin/cpp.bak
ln -s /opt/rh/devtoolset-11/root/bin/cpp /usr/bin/cpp
mv /usr/bin/cc /usr/bin/cc.bak
ln -s /opt/rh/devtoolset-11/root/bin/cc /usr/bin/cc

(4)版本查看

gcc --version

6、安装数据库

(1)编译

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/software/mysql-8.0.35/boost/boost_1_77_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DFORCE_INSOURCE_BUILD=1

(2)编译安装

make -j 4    --大约30-40分钟(如果是make 非并行,可能需要1-2小时)
make install

7、初始化数据库

cd /usr/local/mysql/bin/
/usr/local/mysql/bin/mysqld  --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data/

8、配置my.cnf

wget https://download.topunix.com/MySQL/config-MySQL8.0/my.cnf.linux.MySQL8.0

vi /etc/my.cnf

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
#user=root
#password=123
[mysqld]
server-id=1
#skip-grant-tables
port=3306
user=mysql
max_connections=200
socket=/tmp/mysql.sock
basedir=/mysql/app/mysql
datadir=/mysql/data
pid-file=/mysql/data/mysql.pid
init-connect='SET NAMES utf8'
character-set-server=utf8
default-storage-engine=INNODB
log_error=/mysql/data/mysql-error.log
slow_query_log_file=/mysql/data/mysql-slow.log

9、启动测试

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

10、配置自动启动

(1)下载mysql.server启动配置文件

cd /mysql/data
wget https://download.topunix.com/MySQL/config-MySQL8.0/mysql.server

(2)修改本机对应配置

vi /mysql/mysql.server
basedir=/mysql/app/mysql
datadir=/mysql/data
mysqld_pid_file_path=/mysql/data/mysql.pid
if test -z "$basedir"
then
basedir=/mysql/app/mysql
bindir=/mysql/app/mysql/bin
if test -z "$datadir"
then
datadir=/mysql/data
fi
sbindir=/mysql/app/mysql/bin
libexecdir=/mysql/app/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="/mysql/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi

(3)备份support-files中的mysql.sever,并移入下载的mysql.server

cd /mysql/app/mysql/mysql/support-files/
mv mysql.server mysql.server.bak
mv /mysql/data/mysql.server /mysql/app/mysql/support-files/
chown mysql:mysql /mysql/app/mysql/support-files/mysql.server
chmod +x /mysql/app/mysql/support-files/mysql.server

(4)下载mysqld配置

cd /mysql/
wget https://download.topunix.com/MySQL/config-MySQL8.0/mysqld.service

(5)修改对应配置(如果mysql.server在其他目录下)

vi /mysql/mysqld.service
ExecStart=/mysql/app/mysql/support-files/mysql.server start

(6)拷贝文件到Linux 7的/usr/lib/systemd/system/目录下

# set the auto start on linux server started

cp /mysql/mysqld.service /usr/lib/systemd/system/

(7)配置自动启动

systemctl disable mysqld
systemctl enable mysqld

(8)测试停止mysqld服务

systemctl daemon-reload
systemctl stop mysqld
systemctl start mysqld
systemctl status mysqld
注:如果出现stop后无法真正停止,需要手动kill掉进程,重新启动就ok了。

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年5月19日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号