一、环境

名称 版本
操作系统 Red Hat Enterprise Linux Server release 7.9 (Maipo)
CPU 12th Gen Intel® Core™ i7-12700H
内存 5G
cmake 3.23.1
openssl 1.1.1
Mysql 8.0.29
gcc 7.3.1

注意:
(1)Mysql-8.0.29-源码编译,cmake版本大于等于3.5.1。
(2)Mysql-8.0.29-源码编译,gcc版本大于等于5.8。
(3)cmake高版本源码编译需要高版本openssl。

二、相关安装包下载

Mysql、openssl、cmake等源码的百度云盘下载链接

链接:https://pan.baidu.com/s/1OpYKk-UMDwvCfJQmLPIpvg
提取码:odzy

三、配置yum源

vim /etc/yum.repos.d/CentOS-Base.repo

注释原有base,添加如下内容:

[base]
name=CentOS-os
baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0#[base]
#name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

四、安装openssl

(0)安装openssl开发库

yum install openssl-devel

(1)配置与编译

unzip openssl-OpenSSL_1_1_1.zipcd openssl-OpenSSL_1_1_1./config shared zlib enable-ssl3 enable-ssl3-method --prefix=/usr/local/opensslmake -j4make install

(2)编辑/etc/ld.so.conf添加扫描路径

 /usr/local/openssl/lib

(3)编辑/etc/profile中添加环境变量

export LD_LIBRARY_PATH=/opt/mysql/openssl-OpenSSL_1_1_1:$LD_LIBRARY_PATH
export OPENSSL_ROOT_DIR=/opt/mysql/openssl-OpenSSL_1_1_1
export OPENSSL_CRYPTO_LIBRARY=/opt/mysql/openssl-OpenSSL_1_1_1/crypto
export OPENSSL_INCLUDE_DIR=/opt/mysql/openssl-OpenSSL_1_1_1/include
export CMAKE_C_COMPILER=/usr/bin/gcc
export CMAKE_CXX_COMPILER=/usr/bin/g++

(4)加载配置

/sbin/ldconfig -v. /etc/profile

(5)拷贝openssl至目录/usr/local/bin

cp /usr/local/openssl/bin/openssl /usr/local/bin

(6)查看openssl版本

[root@xdw0 datax]# openssl version
OpenSSL 1.1.1  11 Sep 2018

五、安装cmake

请参考之前的文章
《SingleStore数据库(mysql分布式)-ODBC接口源码编译及ODBC接口Demo》中的三、安装Cmake

六、安装gcc

(1)安装

yum install devtoolset-7-gcc* -yyum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutilsscl enable devtoolset-7 bash

(2)验证

[root@xdw0 ~]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(3)编辑/etc/profile中添加环境变量

scl enable devtoolset-7 bash

(4)加载配置

. /etc/profile

七、源码编译mysql

(0)yum安装依赖库

yum install ncurses ncurses-devel bison bison-devel zlib* -y

(1)配置

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DMYSQL_UNIX_ADDR=/mysql/data/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
-DWITH_BOOST=/opt/mysql/mysql-8.0.29/include/boost_1_77_0 \
-DDOWNLOAD_BOOST=1 \
-DFORCE_INSOURCE_BUILD=1 \
-DDOWNLOAD_BOOST_TIMEOUT=10000

参数说明:

DCMAKE_INSTALL_PREFIX              ##安装路径
DMYSQL_DATADIR                     ##指定数据目录
DMYSQL_UNIX_ADDR                   ##指定套接字文件
DWITH_INNOBASE_STORAGE_ENGINE      ##使用innodb引擎
DSYSCONFDIR                        ##指定配置目录
DENABLED_LOCAL_INFILE              ##支持本地大文件导入数据
DWITH_EXTRA_CHARSETS               ##支持外部扩展字符集
DDEFAULT_CHARSET                   ##默认使用utf8mb4字符集
DWITH_BOOST                        ##c++boost库

参考msql官网链接

(2)编译安装

makemake install

八、初始化数据库

(1)创建用户和赋权

groupadd mysql -g 2001useradd mysql -g 2001 -u 2001echo "mysql"|passwd --stdin mysqlmkdir -p /mysql/datamkdir -p  /usr/local/mysqlchown -R   mysql:mysql   /usr/local/mysqlchown -R   mysql:mysql   /mysql/datachmod 750  /mysql/data

(2)配置开机自启

–1、复制文件

cp /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysqld

–2、修改/etc/init.d/mysqld文件中的如下参数

basedir=/usr/local/mysql
datadir=/mysql/data

–3、赋予权限,开机自启

chmod +x /etc/init.d/mysqldsystemctl enable mysqld

(3)配置/etc/my.cnf

[root@xdw0 data]# cat /etc/my.cnf
[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
basedir=/usr/local/mysql
datadir=/mysql/data
socket=/mysql/data/mysql.sock
symbolic-links=0
bind-address = 0.0.0.0
user = mysql
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_connections = 100
max_connect_errors = 100
# 交互式客户端连接后,没有任何操作的情况下,继续保持连接状态的秒数
interactive_timeout = 1800
#skip-grant-tables=1[mysqld_safe]
log-error=/tmp/mysqld.log
pid-file=/tmp/mysql.pid
expire_logs_days=30
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

Mysql数据库更多参数配置请参考官网

(4)初始化数据库

cd /usr/local/mysql/bin[mysql@xdw0 bin]$ ./mysqld --initialize-insecure --user=mysql
2022-05-05T01:19:03.977020Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option asit' is deprecated and will be removed in a future release.2022-05-05T01:19:03.977134Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.29) initializing of server in progress as process 93773
2022-05-05T01:19:03.984829Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-05-05T01:19:04.181853Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-05-05T01:19:04.740154Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
--initialize-insecure 使用空密码。

(5)登录数据库

[root@xdw0 data]# systemctl start mysqld[root@xdw0 data]# su - mysql[mysql@xdw0 bin]$ ./mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.29 Source distributionCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.29    |
+-----------+
1 row in set (0.00 sec)

(6)修改root密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qwer1234';
Query OK, 0 rows affected (0.01 sec)

(7)root用户远程访问

mysql>  CREATE USER 'root'@'%' IDENTIFIED BY 'qwer1234';
Query OK, 0 rows affected (0.01 sec)mysql> grant all privileges on *.* to 'root'@'%';
Query OK, 0 rows affected (0.00 sec)mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('qwer1234');
Query OK, 0 rows affected (0.00 sec)
或
mysql> ALTER USER root@'%' IDENTIFIED BY 'qwer1234' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)mysql> set global local_infile=ON;
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
5 rows in set (0.00 sec)

Mysql-8.0.29-源码编译安装相关推荐

  1. MySQL 8.0.22 源码编译安装全过程

    墨墨导读: Mysql的8.0版本出来已经有一段时间了,近期研究下源码调试.整个编译过程越来越复杂了. 近期研究下源码调试,MySQL5.7版本源码安装还是比较简单的,有很多例子参考.所以这次选择My ...

  2. mysql5.5.8编译安装_Mysql应用linux下mysql 5.5.8 源码编译安装

    <MysqL应用linux下MysqL 5.5.8 源码编译安装>要点: 本文介绍了MysqL应用linux下MysqL 5.5.8 源码编译安装,希望对您有用.如果有疑问,可以联系我们. ...

  3. Jetson TX1刷机教程(解决Auvidea carrier boards(2x USB3.0)+ 源码编译安装opencv3.2存储空间不足问题)

    最近一周感觉都是在给Jetson TX1刷机,然而每次都得各种查资料,然后从师兄那得到启示(养成记录的好习惯),感觉是时候写下刷机的心路历程了. Jetson TX1刷机不难,直接跟着官方教程走就行D ...

  4. php 5.6.29,源码编译安装PHP 5.6.29

    准备工作 1.yum安装所需软件包 # yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg- ...

  5. mysql 5.6.29编译安装_MySQL-5.6.29源码编译安装记录

    一.安装环境 1. 操作系统:CentOS 6.7 x86_64 # yum install make cmake gcc gcc-c++ gcc-g77 flex bison file libtoo ...

  6. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)...

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  7. 烂泥:mysql5.5数据库cmake源码编译安装

    本文首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开始使用cmake 编译工 ...

  8. 源码编译安装percona-xtrabackup-2.3.2

    一.系统包需求 rpm -q libaio-devel libgpg-error-devel libgcrypt-devel autoconf automake libidn-devel libcur ...

  9. php 7.0 编译安装mysql_源码编译安装php7.0.5

    源码编译安装php7.0.5 源码包下载地址 安装epel扩展yum源 [root@xuegod63 ~]# yum clean all [root@xuegod63 ~]# yum list 注:R ...

  10. mysql+PHP源码编译安装

    mysql源码编译安装 环境redhat6.5 安装依赖包: yum install cmake-2.8.12.2-4.el6.x86_64.rpm gcc-c++ ncurses-devel gcc ...

最新文章

  1. Java 理解泛型的基本含义
  2. python软件加密、固定机器使用_如何用Python进行最常见的加密操作?(附最新400集Python教程)...
  3. _cdecl、_stdcall 、_fastcall、_thiscall 函数调用方式与区别
  4. python单位根检验看结果_Python ADF 单位根检验 如何查看结果的实现
  5. 无码编程:无代码软件开发大行其道
  6. 时序图数仓AbutionGraph在公安金融场景的应用
  7. 2006年度中国管理软件行业评选
  8. APP日志的抓取方法——转载
  9. 如何查看网站服务器的速度,如何测试网站服务器访问速度?
  10. python 计算箱线图、中位数、上下四分位数等
  11. C语言入门系列 - 自定义函数
  12. 停不下来!程序员在GitHub上开源了一个自制表情包项目
  13. web前端开发基础之背景元素的设置
  14. 计算机c盘空间满了应该怎么办,电脑c盘空间满了怎么办?教你12个方法解决电脑c盘空间不足的问题...
  15. pandas的使用(一)
  16. 微信个人号机器人接口
  17. java录制视频_javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...
  18. 五、Hystrix断路器
  19. C# Show()和ShowDialog()
  20. Socket マルチキャスト通信 - Windows Phone編

热门文章

  1. 计算机综合能力描述,计算机综合应用能力实训报告
  2. 怎么恢复电脑删除的文件,误删除数据恢复
  3. 常用的几个测试网络连接的命令
  4. python jit_Pypy Python的JIT实现
  5. Jason Brown的R快速入门方法
  6. 网站关键词怎么合理布局提升网站排名
  7. 浪潮集团执行总裁王洪添一行莅临柏睿数据公司商讨战略合作
  8. 服务器和交换机物理连接_Brocade博科交换机 SAN存储区域网络
  9. Warning:The `android.dexOptions.incremental` property is deprecated and it has no effect on the buil
  10. 小程序--时间处理(显示几分钟前,,几小时前,,几天前...)