CentOS7怎么编译安装MySQL 8.0

centos编译安装mysql的教程网上有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。

CentOS7怎么编译安装MySQL 8.0

0.前期准备条件

•查看linux的版本

[root@mysql etc]# cat /etc/RedHat-releaseCentOS Linux release 7.3.1611 (Core)•Could NOT find Cursesyum install ncurses-devel•Bison executable not found in PATHyum install bison

备注: 安装过程中会缺少基础包,本实例环境缺少上述包,先提前安装相应的包

1.cmake的源编译安装

[root@db software]# nohup tar zxvf cmake-3.11.1.tar.gz &[root@db software]# cd cmake-3.11.1[root@db cmake-3.11.1]# ./configure[root@localhost cmake-3.0.1]# gmake && make install

2.wolfssl包的部署安装[可选项]

*. 从wolfssl.com网站下载wolfssl-3.13.0.zip压缩包*. 解压至/data/software/mysql-8.0.11/extra/wolfssl-3.13.0目录中。*. cd extra/wolfssl-3.13.0/IDE/MYSQL*. 执行do.sh脚本*. use -DWITH_SSL=wolfssl for CMake

3.openssl和openssl-devel[本实验使用的是system ssl]

yum install –y openssl openssl-devel

4.mysql的编译安装

[root@mysql software]#tar zxvf mysql-8.0.11.tar.gz[root@mysql software]# cd mysql-8.0.11/[root@mysql software]# mkdir Zdebug[root@mysql software]# cd Zdebugcmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=system -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 -DCOMPILATION_COMMENT="zsd edition" -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp -DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock -DSYSCONFDIR=/data/mysqldata/3306 > /data/software/mysql-8.0.11/Zdebug/mysql_cmake80.log 2>&1

出现下列日志:

............-- Configuring done-- Generating done-- Build files have been written to: /data/software/mysql-8.0.11/Zdebug............

说明编译成功,其中-DWITH_SSL=system用的是linux操作系统的openssl,需要安装openssl和openssl-devel包,才可以被编译

如果需要编译安装快速,可以运用多线程加快编译安装,命令如下:

make -j 12make install

•MySQL 8.0的软件目录结构

[root@mysql Zdebug]# cd /usr/local/mysql/[root@mysql mysql]# ls -ltotal 612drwxr-xr-x. 2 root root 4096 May 16 14:20 bindrwxr-xr-x. 2 root root 55 May 16 14:20 docsdrwxr-xr-x. 3 root root 266 May 16 14:20 includedrwxr-xr-x. 4 root root 173 May 16 14:20 lib-rw-r--r--. 1 root root 301518 Apr 8 14:44 LICENSE-rw-r--r--. 1 root root 301518 Apr 8 14:44 LICENSE-testdrwxr-xr-x. 4 root root 30 May 16 14:20 mandrwxr-xr-x. 10 root root 4096 May 16 14:21 mysql-test-rw-r--r--. 1 root root 687 Apr 8 14:44 README-rw-r--r--. 1 root root 687 Apr 8 14:44 README-testdrwxr-xr-x. 28 root root 4096 May 16 14:21 sharedrwxr-xr-x. 2 root root 90 May 16 14:21 support-files

5.创建mysql用户&并修改相关文件

[root@mysql mysql]# groupadd mysql[root@mysql mysql]# useradd -g mysql mysql

6.设置用户操作系统资源的限制

[root@localhost cmake-3.0.1]# vi /etc/security/limits.confmysql soft nproc 65536mysql hard nproc 65536mysql soft nofile 65536mysql hard nofile 65536

验证limit是否生效

[root@mysql ~]# su - mysql[mysql@mysql ~]$ ulimit -a

日志如下:

open files (-n) 65536max user processes (-u) 65536............

7.创建MySQL数据目录及赋予相应权限

#cd /data/#mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,innodb_ts,innodb_log},backup,scripts}#chown -R mysql:mysql mysqldata#su - mysql

8.配置my.cnf文件

$vi /data/mysqldata/3306/my.cnf[client]port = 3306socket = /data/mysqldata/3306/mysql.sock# The MySQL server[mysqld]port = 3306user = mysqlsocket = /data/mysqldata/3306/mysql.sockpid-file = /data/mysqldata/3306/mysql.pidbasedir = /usr/local/mysqldatadir = /data/mysqldata/3306/datatmpdir = /data/mysqldata/3306/tmpopen_files_limit = 60000explicit_defaults_for_timestampserver-id = 1203306lower_case_table_names = 1character-set-server = utf8federated#sql_mode=STRICT_TRANS_TABLESmax_connections = 1000max_connect_errors = 100000interactive_timeout = 86400wait_timeout = 86400sync_binlog=0back_log=100default-storage-engine = InnoDBlog_slave_updates = 1#*********** Logs related settings ***********log-bin = /data/mysqldata/3306/binlog/mysql-binbinlog_format= mixedbinlog_cache_size=32mmax_binlog_cache_size=64mmax_binlog_size=512mlong_query_time = 1log_output = FILElog-error = /data/mysqldata/3306/mysql-error.logslow_query_log = 1slow_query_log_file = /data/mysqldata/3306/slow_statement.log#log_queries_not_using_indexesgeneral_log = 0general_log_file = /data/mysqldata/3306/general_statement.log#expire-logs-days = 14binlog_expire_logs_seconds = 1728000relay-log = /data/mysqldata/3306/binlog/relay-binrelay-log-index = /data/mysqldata/3306/binlog/relay-bin.index#****** MySQL Replication New Feature*********master-info-repository=TABLErelay-log-info-repository=TABLErelay-log-recovery#*********** INNODB Specific options ***********innodb_buffer_pool_size = 2048Mtransaction-isolation=REPEATABLE-READinnodb_buffer_pool_instances = 8innodb_file_per_table = 1innodb_data_home_dir = /data/mysqldata/3306/innodb_tsinnodb_data_file_path = ibdata1:2048M:autoextendinnodb_thread_concurrency = 8innodb_log_buffer_size = 16Minnodb_log_file_size = 128Minnodb_log_files_in_group = 3innodb_log_group_home_dir = /data/mysqldata/3306/innodb_loginnodb_flush_log_at_trx_commit = 2innodb_max_dirty_pages_pct = 70innodb_flush_method=O_DIRECT[mysql]no-auto-rehashdefault-character-set=gbkprompt = (u@h) [d]>_

9.初始化MySQL数据库

$/usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --initialize --user=mysql

10.启动mysql服务

$/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf --user=mysql &

11.登陆数据库

备注:密码来自于error log日志,明细如下:

2018-05-16T07:17:57.335486Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jlocal/mysql/bin/mysql -uroot -p'j

12.数据库一些基本权限配置

修改root账号密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH sha256_password BY 'zsd@7101' PASSWORD EXPIRE INTERVAL 360 DAY;

查看目前的用户账号

(root@localhost) [(none)]> select user,host from mysql.user;+------------------+-----------+| user | host |+------------------+-----------+| mysql.infoschema | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost |+------------------+-----------+

以上就是CentOS7怎么编译安装MySQL 8.0的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/152317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月3日 17:06:41
下一篇 2025年12月3日 17:23:00

相关推荐

  • 日月光:全球产业迎黄金十年 半导体产值冲万亿美元

    日月光投控(3711)营运长吴田玉昨(11)日表示,关税政策带来不确定性,但亦为产业发展增添了变量。未来十年将是半导体产业的黄金年代,ai技术的爆发,造成市场首次出现「软件领先硬件」的现象,随着ai需求持续攀升,全球半导体产值预估将于未来十年突破1万亿美元。他也强调,净零政策、系统数字化与生产地区化…

    2025年12月5日
    000
  • win11怎么在任务栏显示秒_Win11任务栏时钟显示秒数设置方法

    1、可通过设置、注册表、命令行或第三方工具在Windows 11任务栏时钟显示秒数;2、设置中开启最安全,注册表修改适用于所有版本,命令行更高效,第三方工具提供个性化选项。 如果您希望在Windows 11的任务栏时钟中精确查看当前时间的秒数,可以通过系统设置、注册表编辑或第三方工具实现。此功能有助…

    2025年12月5日
    000
  • 满血旗舰折叠屏荣耀Magic V5发布,售价8999元起

    7月2日,荣耀(honor)在深圳市举行新品发布会,备受瞩目的轻薄折叠旗舰——荣耀magic v5正式登场。这款新品凭借颠覆性的制造工艺、全方位满血的旗舰配置、强大的ai智能体功能以及跨生态的深度融合,重新定义了折叠旗舰的新标准,实现八大“世界纪录”、八大满血体验、八大一语ai功能和七大ai生态布局…

    2025年12月5日 行业动态
    000
  • 庆祝eFootball系列30週年,球王Pelé系列作史上首次登场

    konami digital entertainment limited (konami) 为庆祝efootball™系列迈入30周年,正式迎来足球界传奇人物——比利(pelé)的登场。这位被公认为史上最伟大的球员之一,以他惊人的球技、创造力与个人魅力征服了全球球迷。作为足球史上最多产的射手之一,比…

    2025年12月5日 游戏教程
    000
  • 如何在Laravel中实现数据转换

    在laravel中实现数据转换的核心方法包括使用eloquent访问器与修改器以及api资源。访问器用于在获取模型属性时对其进行格式化,例如将价格从分为单位转为元,或将状态码转为文字描述;修改器则用于在保存数据前进行处理,如密码哈希;api资源用于定义模型的json输出结构,适用于构建api接口。2…

    2025年12月5日
    000
  • 海棠书屋(全网搜书)登录口_海棠书屋-自由阅览在线入口

    海棠书屋官网入口为https://www.haitbook.com,用户可通过该网址访问平台,享受涵盖多种题材的小说阅读服务,支持跨类别检索、多端适配与离线缓存,界面简洁无广告,提供自定义阅读设置及书架管理功能。 直达入口一:“☞☞☞☞2026海棠书屋自由小说阅读网☜☜☜☜☜点击进入”; 直达入口二…

    2025年12月5日
    000
  • linux修改用户密码的方法是什么

    linux修改用户密码的方法:首先用CRT软件连接Linux系统,并查看登录用户信息;然后若修改root自己的密码,直接输入passwd;最后若修改其他用户,如oracle的密码,可直接输入passwd oracle。 本教程操作环境:linux7.3系统,SecureCRT 8.7.1绿色版,DE…

    2025年12月5日 运维
    000
  • mysql怎么设置字符集

    一、字符集的概念 字符集规范了代码与字符之间的映射关系,指定了计算机字符的编码方式。不同数据库系统中的字符集设置可能不同,而不同字符集之间有独特的特点和优势。相较于Latin1/Latin7,GB2312/GBK/GB18030在处理汉字方面具有更大的优势。 在MySQL中,字符集指的是编码字符数据…

    数据库 2025年12月5日
    000
  • java中的import怎么用 import导入类的2种高效方式

    import关键字简化类名使用,避免全限定名重复书写。其核心作用是管理命名空间,解决类名冲突。两种高效导入方式:1. 显式导入明确指定类,提升可读性;2. 通配符导入方便批量引入,但可能降低可读性。此外,静态导入用于直接使用静态成员。import仅在编译时提供类信息,并不触发类加载。处理同名类时需手…

    2025年12月5日 java
    000
  • Macbook连接蓝牙耳机没声音如何设置_Mac连接蓝牙设备无声音的解决方法

    首先检查并切换音频输出设备,确保蓝牙耳机被选为默认输出;若无效,通过系统设置确认声音配置、重新配对耳机、重启蓝牙模块与音频服务,并检查耳机模式与固件更新以解决无声音问题。 如果您已成功将蓝牙耳机连接到MacBook,但播放音频时没有声音输出,则可能是由于系统默认的音频输出设备未正确设置。以下是解决此…

    2025年12月5日
    000
  • 如何用PHP实现数据分页?高性能分页类设计

    分页在web开发中通过限制查询结果并获取当前页数据实现,php可通过封装分页类兼顾性能与复用性。1. 分页核心是使用sql的limit和offset动态计算偏移量和每页数量;2. 高性能分页应避免大偏移量、缓存总记录数、只查必要字段、利用索引排序;3. 可复用分页类需接收总记录数、当前页码等参数,并…

    2025年12月5日 后端开发
    000
  • MySQL架构设计实例分析

    1. MySQL整体架构 由图中可以看到mysql架构主要分为server层和存储引擎层。 Server层又分为连接器、缓存、分析器、优化器、执行器。所有跨存储引擎的功能都在这层实现,比如:函数、存储过程、触发器、视图等。 存储引擎是可插拔式的,常见的存储引擎有MyISAM、InnoDB、Memor…

    2025年12月5日 数据库
    000
  • 如何在Laravel中实现定时任务

    在laravel中实现定时任务,核心思路是利用框架的调度器集中管理任务,并通过服务器cron每分钟触发一次调度器执行。1. 创建命令:使用 php artisan make:command 生成命令类并编写业务逻辑;2. 注册任务:在 app/console/kernel.php 的 schedul…

    2025年12月5日
    000
  • 技术+生态+人才,华为解锁天津数智产业发展密码

    近日,“华为中国行2025・天津新质生产力城市峰会”盛大召开,笔者有幸采访到了华为中国政企cmo郁赛华和华为天津政企业务总经理叶紫阳。两位的分享不仅揭开了这些场景背后的技术密码,更勾勒出华为以“技术底座+生态协同+全链服务”助力天津重构产业竞争力的清晰路径。 从港口到医院,从算力中心到人才基地,华为…

    2025年12月5日
    000
  • 联发科展望2029:数据中心市场规模将超万亿美元

    联发科昨日在深圳举办天玑开发者大会(mddc 2025),聚焦ai(人工智能)技术和产业变革趋势,联发科总经理暨营运长陈冠州表示,「这一年ai发展很快,预计二○二九年数据中心投资规模将超过一万亿美元。」 陈冠州强调,AI处理器已化形成各项产品中的智能体,除了手机之外,还包括人型机器人、冰箱、家电、汽…

    2025年12月5日
    000
  • 拼多多七夕节免费拿是真的吗?能拿到免费商品吗?拼多多七夕免费拿是真是假?3招教你避开套路,轻松薅羊毛!

    一、拼多多七夕节“免费拿”活动是真的吗? 答案是存在真实案例,但需警惕其背后复杂的实现机制与潜在争议: 1. 活动机制解析 拼多多的“免费拿”或类似“推卡”“推金币”活动,表面上采用“助力任务+抽奖机制”的形式: 基础规则:用户选择商品后,需通过邀请好友点击链接、完成浏览或助力积攒进度条成功标准:系…

    2025年12月5日
    000
  • 免费PPT工具如何保存_免费工具保存PPT文件的正确步骤

    答案:使用导出功能可将PPT保存为.pptx格式并选择本地路径。完成编辑后点击“导出”,选择PowerPoint格式,下载时指定桌面或自定义文件夹存储,确保兼容性;或通过“另存为”直接选桌面路径保存;也可登录账户将文件保存至云端,跨设备同步后下载到本地。 如果您在使用免费PPT工具制作演示文稿,但在…

    2025年12月5日
    000
  • MySQL如何显示字符长度

    字符长度 命令:select char_length(‘andyqan’)。 作用: 显示指定字符长度。 应用场景: 查看字符长度时。 例子: mysql> select char_length(‘andyqian’);+————————…

    数据库 2025年12月5日
    000
  • java中的interface是什么 接口interface的5大特性一文搞懂

    接口是java中实现多态、降低耦合的重要机制,其五大特性包括:1.定义方法规范但不实现;2.支持多重实现以弥补单继承限制;3.与抽象类的区别体现在实现方式、成员变量、方法实现和设计目的上;4.java 8后引入默认方法和静态方法增强灵活性;5.通过面向接口编程、接口隔离和依赖倒置原则提升代码结构。接…

    2025年12月5日 java
    000
  • PHP连接Redis时如何实现数据缓存的详细步骤?

    php连接redis做数据缓存的关键在于环境搭建和正确使用redis扩展。1.安装redis服务并启动,确保运行在默认端口6379;2.安装php-redis扩展,ubuntu/debian用sudo apt-get install php-redis,centos用sudo yum install…

    2025年12月5日 后端开发
    000

发表回复

登录后才能评论
关注微信