Mysql5.7.34 数据库源码编译安装
Mysql 数据库源码编译安装
MySQL是一个关系型数据库管理系统,关系型数据库是将数据保存在不同的表中,而非将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
环境准备:``
安装环境 Centos 7.9
内核版本 Linux 3.10.0-1160.e17.x86_64 x86_64
数据库版本信息 mysql5.7.34
推荐:硬盘至少大于20G,内存至少3G,SWAP3G(内存空间不足在编译安装时会导致编译安装失败)
安装准备:
1.检查卸载默认
rpm –qa|grep mariadb
rpm -e --nodeps 现有版本
列出当前mysql rpm 安装包
rpm –qa|grep mysql
卸载命令如上述
一、下载、编译安装
编译安装流程:

1.下载关联依赖
yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxmlncurses-devel ncurses libgcrypt libtool* cmake openssl openssl-devel bisonbison-devel perl-Data-Dumper boost boost-doc boost-devel
yum install ncurses-devel (字符终端处理库)
yum install bison (linux 下c/c++语法分析器)
2.创建用户、用户组及安装目录
groupadd mysql
useradd -p mysql -s /sbin/nologin mysql
mkdir -pv /usr/local/mysql/conf 创建2级目录/mysql/conf
chown -R mysql:mysql /usr/local/mysql
mkdir -pv /data/mysql_data 创建数据库存放数据目录
chown -R mysql:mysql /data/mysql_data
3.下载相应源码包
cd /usr/local/src/tools/ (选定文件下载目录,自选)
进入官网找到下载对应版本信息()

找到对应版本后可直接下载到本机(服务器无网状态推荐)
从物理机上获取mysql源码文件(推荐使用第三方远程工具上传到服务器指定目录)
服务器能连接外网可直接使用命令下载,如下:
wget 对应版本
4.解压文件夹到指定位置
cd /usr/local/src/tools/ (自定义存放文件位置)
tar –zxvf mysql-boost-5.7.34.tar.gz –C /usr/local/mysql/
解压完成后进入解压后的文件目录
cd /usr/local/mysql/
cd mysql-boost-5.7.34
5.编译
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 指定安装目录
-DMYSQL_DATADIR=/data/mysql_data \ 数据库存放目录
-DSYSCONFDIR=/usr/local/mysql/conf \
-DMYSQL_UNIX_ADDR=/data/mysql_data/mysql.sock
-DSYSTEMD_PID_DIR=/usr/local/mysql
-DMYSQL_USER=mysql
-DWITH_SYSTEMD=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DENABLE_DOWNLOADS=1
-DEXTRA_CHARSETS=all \ 安装所有扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \ 使用 utf8 字符
-DDEFAULT_COLLATION=utf8mb4_general_ci \ 校检字符
-DWITH_DEBUG=0
-DMYSQL_MAINTAINER_MODE=0
-DWITH_SSL:STRING=system
-DWITH_ZLIB:STRING=bundled
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=./boost
如在编译过程中出现错误信息需删除当前目录下cMakCache.txt文件,解决错误信息后重新编译
以下显示表示编译完成

6.编译安装
make -j$(cat /proc/cpuinfo| grep "processor"| wc -l) && make install (会显示的当前编译进度时间较长)
-j参数后数字为CPU核数,可以通过使用cat /proc/ cpuinfo | grep processor | wc –l 进行查看使用该命令可提高编译速度

注: 建议直接使用make && make install 编译安装(多次编译错误运行此条)
编译成功显示如下

7.配置启动文件
cd ./mysql-5.7.30
cp ./scripts/mysqld.service /usr/lib/systemd/system
vi /usr/lib/systemd/system/mysqld.service
无需修改
8.添加环境变量
cat > /etc/profile.d/mysql.sh << EOF
PATH=/usr/local/mysql/bin:$PATH
export PATH
EOF
source /etc/profile 运行该命令使其生效
9.初始化数据库
参数说明,之前版本在/usr/local/mysql/script目录下的初始化程序mysql_install_db本版本已移除,转而使用mysqld替代。
-–initialize 会生成一个随机密码(保存在~/.mysql_secret),而 -–initialize-insecure 不会生成密码。
-–datadir目标目录下不能有数据文件。
初始化命令
rm -fr /data/mysql_data/*
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data
10.启动服务
systemctl enable mysqld.service 设置mysql开机自启动
systemctl daemon-reload 重新加载配置
systemctl start mysqld.service 启动mysql数据库
systemctl status mysqld.service 检查当前数据库状态

查看当前进程状态
ps –ef|grep mysql

二、检查登录数据库
安装完成后运行命令可检查数据库版本
/usr/local/mysql/bin/mysql --version

查看mysql安装完成后目录

登录数据库、初始无密码

三、卸载源码安装
停用服务
systemctl stop mysqld.service
先执行此,才能禁用服务
systemctl daemon-reload
在开机时禁用一个服务
systemctl disable mysqld.service
删除环境变量文件
rm /etc/profile.d/mysql.sh
删除systemd启动文件mysqld.service
rm /usr/lib/systemd/system/mysqld.service
删除安装目录
rm -rf /usr/local/mysql
删除数据文件(可选)
rm -rf /data/mysql_data/*
Mysql5.7.34 数据库源码编译安装的更多相关文章
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
- centos6.5环境源码编译安装mysql5.6.34
centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...
- 源码编译安装mysql5.5.33
源码编译安装mysql5.5.33 一.安装cmake编译工具 跨平台编译器 # yum install -y gcc* # yum install -y cmake 解决依赖关系 # yum ins ...
- mysql5.7.10 源码编译安装记录 (centos6.4)【转】
一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...
- CentOS7.5源码编译安装mysql5.7.29
#查看系统版本 [root@ctos3 ~]# cat /etc/redhat-release CentOS Linux release (Core) #下载源码包,需要注意的是mysql5.7 编译 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- zabbix源码编译安装以及添加第一台host监控
基础准备 硬件需求 数据库需求 软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
随机推荐
- Octal Fractions java秒 C++
Octal Fractions 题目抽象: 将八进制小数转换成十进制小树.小数的为数很大. 可以用java 中的BigDeciaml 秒掉. time:297ms 1 import java. ...
- 【译】GO语言:管理多个错误
原文:https://medium.com/a-journey-with-go/go-multiple-errors-management-a67477628cf1 关于开发者使用Go遇到的最大挑 ...
- JUnit5的Tag、Filter、Order、Lifecycle
Tag JUnit5可以使用@Tag注解给测试类和测试方法打tag,这些tag能用来在执行时进行过滤,它跟group有点类似. tag应该遵循以下规则: 不能为null或者为空. 不能包含空格. 不能 ...
- 案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/118685521 长期持续带来更多项目与技术分享 ...
- 在CentOS7环境下部署weblogic集群
一)环境准备 服务器操作版本系统 CentOS7 weblogic版本包 weblogic1036_generic.jar(weblogic11g) JDK jdk-8u191-linux-x64.t ...
- Kotlin Coroutine(协程): 二、初识协程
@ 目录 前言 一.初识协程 1.runBlocking: 阻塞协程 2.launch: 创建协程 3.Job 4.coroutineScope 5.协程取消 6.协程超时 7.async 并行任务 ...
- FirstDay
昨天心血来潮,想着注册一博客,没想到今天再登时,审阅就通过了,多少有点庆辛.从今天起,我也算是有博客的人了! 为什么选博客园开通?好多IT论坛里都允许有博文,CSDN感觉过于高大上,其他系列论坛大多内 ...
- Spring常见异常说明
文章要点 Spring bean 的声明方式 Spring bean 的注入规则 Spring bean 的依赖查找规则 Spring bean 的名称定义方式和默认名称规则 XXX required ...
- 成功解决1406, “Data too long for column ‘txt‘ at row 1“
这是因为数据库里该字段的数据类型所给的数据空间太小.MySQL将截断超过指定列宽度的任何插入值.为了让这个不报错,可以尝试切换MySQL模式不使用严格模式. SET @@global.sql_mode ...
- RPC远程协议之Thrift入门
在上一篇文章<RPC远程协议之原理分析>中,我介绍了RPC的工作原理及欲实现RPC框架功能应该做哪些事情,因为要做的事情太多,完全由开发人员研发实现,不是很现实,所以市面上出现了诸多RPC ...