编译安装MySQL(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 编译安装MySQL(一)

1.MySQL版本号介绍

如:5.5.60这个版本的MySQL说明版本号的每个数字含义(mysql-5.5.60.tar.gz)。

第一个数字(5)主版本号:文件格式改动时,将作为新的版本发布(5.5.60);

第二个数字(5)发行版本号:新增特性或者改动不兼容时,发行版本号需要更改(5.5.60);

第三个数字(60)发行序列号:主要是小的改动,如bug的修复、函数添加或更改、配置参数的更改等(5.5.60)。

2.MySQL编译环境

1.创建mysql的安装包目录

mkdir -p /usr/local/src/mysql

2.安装编译安装环境依赖包

yum -y install gcc gcc-c++ make glibc automake autoconf libtool  libssl-dev openssl openssl-devel

3.软件包的下载

cd /usr/local/src/mysql
yum install -y wget
yum install -y ca-certificates    
# 解决wget下载出的问题(颁发的证书已经过期。要以不安全的方式连接至 downloads.sourceforge.net,使用“--no-check-certificate”。)

下载boost(C++的扩展包)

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz            

下载cmake(跨平台的安装(编译)工具)

wget https://cmake.org/files/LatestRelease/cmake-3.22.1.tar.gz               

下载mysql包

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37.tar.gz   

查看下载的软件包

ls      

4.安装cmake

1.安装cmake

tar -zxvf cmake-3.22.1.tar.gz
cd cmake-3.22.1
./bootstrap
gmake
gmake install

2.查看cmake版本

cmake -version

3.解压boost库到/usr/local/目录

cd ../
tar xf boost_1_59_0.tar.gz -C  /usr/local/
cd /usr/local/
mv boost_1_59_0/  boost
cd boost
ls -l

5.编译安装MySQL

1.先安装编译MySQL依赖的包

yum install -y ncurses-devel  gcc gcc-c++ ncurses bison make

2.创建安装MySQL相关目录

mkdir -p /database/mysql/{data,tmp,binlog,logs}

查看目录的结构

yum install -y tree
tree -L 2 /database/                       

3.创建MySQL组和用户(已存在就跳过)

useradd mysql
useradd mysql -s /sbin/nologin -M -g mysql
id mysql     

4.解压MySQL源码包

cd /usr/local/src/mysql
tar -zxvf mysql-5.7.37.tar.gz

5.cmake编译MySQL

cd mysql-5.7.37
cmake . -DCMAKE_INSTALL_PREFIX=/database/mysql \
-DMYSQL_DATADIR=/database/mysql/data \
-DMYSQL_UNIX_ADDR=/database/mysql/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

6.安装MySQL

make install

7.编译的相关参数

官网上查找

6.配置MySQL系统环境变量

echo 'export PATH=/database/mysql/bin:$PATH' >> /etc/profile
tail -1 /etc/profile             
source /etc/profile          
echo $PATH       

7.初始化MySQL数据库

1.更改MySQL安装目录的属主和属组

chown  -R  mysql:mysql  /database/mysql/

2.修改MySQL配置文件的属组和属主

chown mysql:mysql  /etc/my.cnf

3.修改MySQL配置文件

cp /etc/my.cnf  /etc/my.cnf.bak     
vi /etc/my.cnf
# 写入如下内容(解释版):
[client]
port = 3306                         
# 连接端口号
socket = /database/mysql/mysql.sock
# 用于本地连接的socket套接字
default-character-set = utf8
# 编码
[mysqld]
port = 3306
# 服务端口号
server_id = 1
# MySQL服务的唯一编号,每个mysql服务ID需唯一
user = mysql
# 启动用户
basedir = /database/mysql
# mysql安装根目录
datadir = /database/mysql/data
# mysql数据文件所在位置
tmpdir = /database/mysql/tmp
# MySQL存放临时文件的目录
socket = /database/mysql/mysql.sock
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
pid_file = /database/mysql/mysql.pid
# pid文件所在目录
character_set_server = utf8
# 数据库默认字符集
max_connections = 100
# 最大连接数
max_connect_errors = 10
# 最大错误连接数
log_error = /database/mysql/logs/mysql_5_7_37.err
# mysql生成错误日志存放的路径
log_bin = /database/mysql/binlog/mysql-bin
# 开启二进制日志功能
# 写入如下内容(命令版):
[client]
port = 3306                         
socket = /database/mysql/mysql.sock
default-character-set = utf8
[mysqld]
port = 3306
server_id = 1
user = mysql
basedir = /database/mysql
datadir = /database/mysql/data
tmpdir = /database/mysql/tmp
socket = /database/mysql/mysql.sock
pid_file = /database/mysql/mysql.pid
character_set_server = utf8
max_connections = 100
max_connect_errors = 10
log_error = /database/mysql/logs/mysql_5_7_37.err
log_bin = /database/mysql/binlog/mysql-bin

4.初始化MySQL数据库

cd /database/mysql/
./bin/mysql --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data
# 生成初始化密码参数(5.7版本才有),必须添加(--initialize-insecure)
# 设定初始化用户(--user=mysql)
# 设定mysql工作目录(--basedir=/database/mysql)
# 设定数据文件目录(--datadir=/database/mysql/data)

5.MySQL实例开启SSL连接

cd /database/mysql/
./bin/mysql_ssl_rsa_setup --initialize-insecure --user=mysql --basedir=/database/mysql --datadir=/database/mysql/data

6.修改server-key.pem文件权限

cd /database/mysql/data/
chmod +r server-key.pem
ls -l server-key.pem

7.启动MySQL数据库

拷贝启动脚本到/etc/init.d/目录下

cd /database/mysql/
cp support-files/mysql.server  /etc/init.d/mysql
ls -l /etc/init.d/mysql

重新加载系统服务,将MySQL数据库加入开机自启动

systemctl daemon-reload
systemctl enable mysql
/sbin/chkconfig mysql on

启动MySQL数据库

/etc/init.d/mysql start   # 开启
或者
/etc/init.d/mysql stop    # 停止
/etc/init.d/mysql start

检查端口3306,mysql是否开启

ps aux | grep mysqld
lsof -i:3306

编译安装MySQL(二)

感谢大家,点赞,收藏,关注,评论!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
653 67
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
49 3
|
19天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
226 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
58 3
|
3月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
217 1
|
6月前
|
关系型数据库 MySQL Linux
MySQL免编译安装和用户管理(转)
MySQL免编译安装和用户管理(转)
31 1
|
5月前
|
关系型数据库 MySQL Linux
centos linux mysql 5.5脚本全自动源码包 编译安装
centos linux mysql 5.5脚本全自动源码包 编译安装
57 0
|
6月前
|
关系型数据库 MySQL 开发工具
ccentos7 源码!源码!源码 !编译安装 mysql 5.7.24
ccentos7 源码!源码!源码 !编译安装 mysql 5.7.24
57 0
|
11月前
|
关系型数据库 MySQL Shell
centos编译安装mysql
centos编译安装mysql
208 0