Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建

1. 下载 MySQL 源码

访问 MySQL 官方网站(MySQL :: Download MySQL Community Server)并下载 MySQL 8.0 的源码包(mysql-boost-8.0.31.tar.gz)。

2. 安装编译依赖

1)更换镜像源

参考:Linux Ubuntu 修改 /etc/apt/sources.list (镜像源)文件(非常实用)-CSDN博客

2)安装 gcc

sudo apt install gcc-11

3)安装构建 MySQL 所需的编译依赖。运行以下命令安装所需的软件包:

sudo apt install build-essential cmake libncurses5-dev libssl-dev libboost-all-dev gdb

注意,我们添加了 gdb 软件包,它是用于调试的工具。

3. 解压源码包

将下载的源码包解压到一个目录中。假设你将其解压到 /usr/local 目录下。

sudo tar xvf mysql-boost-8.0.31.tar.gz

4. 创建用户和组

groupadd mysql//第一个mysql是指用户名,第二个mysql是指组名
//参数说明:-M 不创建家目录 -s 指定 -r 创建系统账户
useradd -r -g mysql -M -s /bin/false mysql
  • -r选项表示创建一个系统用户(系统用户通常用于运行服务或应用程序)。
  • -g mysql选项指定将用户添加到名为mysql的用户组中。
  • -M选项表示不要创建用户的主目录。
  • -s /bin/false选项将用户的登录 shell 设置为/bin/false,这将禁止用户通过登录 shell 登录系统。

该命令的目的是创建一个名为mysql的系统用户,并将其添加到mysql用户组中。该用户将没有登录权限,因为其登录 shell 被设置为/bin/false。这样的用户通常用于运行MySQL服务,以提供更安全的环境。


上述步骤都是 Ubuntu(WSL) 下源码安装 MySQL 的基操,Ubuntu(WSL)下源码安装 MySQL 参考:Ubuntu(WSL)下源码安装 MySQL(建议在 Ubuntu(WSL) 下先源码安装 MySQL8.0)

5. Clion+Ubuntu(WSL)+MySQL开发环境配置

5.1 使用 Clion 打开 MySQL8.0 源码

5.2 打开 Settings - Toolchains 并进行相关配置

5.3 打开 Settings - CMake 并进行相关配置

1)在 Toolchain 和 Generator 栏中选择图中所示参数

2)在 CMake options 栏中填入编译参数

编译参数如下:

-G "Unix Makefiles"
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1
-DDOWNLOAD_BOOST=1
-DWITH_DEBUG=1
-DWITH_BOOST=/usr/local/boost
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DCMAKE_C_FLAGS="-Wno-unused-variable -Wno-unused-parameter"
-DCMAKE_CXX_FLAGS="-Wno-unused-variable -Wno-unused-parameter"
-DWITH_EMBEDDED_SERVER:BOOL=OFF
-DBUILD_TESTING:BOOL=OFF
-DWITH_UNIT_TESTS:BOOL=OFF

3)编译目录(Build directory)使用默认即可,也可人为指定,然后依次点击:Apply、OK

5.4 在 Edit Configurations... 栏中选择可执行文件 mysqld

5.5 在 mysqld - Program arguements 栏中填入 mysql 的配置文件

5.6 点击 Build - Install

说明:此处 Install 包含在终端下源码安装 MySQL 过程中的 make 和 install 两个过程

5.7 等待 Install 和 Updating indexes 两个过程结束

5.8 完成安装

6. 初始化

# 进入安装目录 
cd /usr/local/mysql # 初始化 
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --port=3306

说明:初始化文件 my.cnf 可以放在不同的文件夹下(一台机器上装多个 mysql 时,可以在不同的文件夹下创建 my.cnf),但初始化命令中使用到的 my.cnf 路径要与其保持一致;

7. 寻找初始密码

初始化完成后,找到 mysql 安装目录下的 data 文件夹,初始化密码在 mysqld.log 日志中,自行找到即可,然后用初始密码进行登陆;初始密码实例如下:

8. 启动 mysql

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

9. 设置 mysql 密码

# 执行下述命令并使用初始密码进入 
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -p -P3306 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

10. Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java开发之个微群聊自动添加好友

请求URL: http://域名/addRoomMemberFriend 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId是String登录实例标识chatRoom…

4个Pycharm高效插件

大家好,Pycharm是Python最受欢迎的集成开发环境之一,它具有良好的代码助手、漂亮的主题和快捷方式,使编写代码变得简单快捷。话虽如此,开发者仍可以通过使用一些插件来提高在Pycharm中编写Python代码的效率和乐趣,在市…

【【FPGA 之Micro Blaze的串口中断实验】】

FPGA 之Micro Blaze的串口中断实验 我们在使用 MicroBlaze 进行嵌入式系统设计的时候,通常会用到 AXI Uartlite IP 核与外部设备通信。AXI UART IP 核实现了 RS-232 通讯协议,并使得大家可以设置串口通信相关的波特率、奇偶校验位、停止位和数据位等参数…

前端OFD文件预览(vue案例cafe-ofd)

0、提示 下面只有vue的使用示例demo ,官文档参考 cafe-ofd - npm 其他平台可以参考 ofd - npm 官方线上demo: ofd 1、安装包 npm install cafe-ofd --save 2、引入 import cafeOfd from cafe-ofd import cafe-ofd/package/index.css Vue.use(cafeOfd) 3、使…

数据可视化工具APITable:实现强大的多维表格功能并随时随地远程访问

APITable免费开源的多维表格与可视化数据库公网远程访问 文章目录 APITable免费开源的多维表格与可视化数据库公网远程访问前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c…

kobs-ng 烧写nand中的uboot

如何获取kobs-ng 我是使用buildroot自动编译的imx-kobs,生成了kobs-ng可执行文件。 使用 kobs-ng 烧写 u-boot 1. flash_erase /dev/mtd0 0 0 //擦除uboot所在分区 2. 挂载 debugfs mount -t debugfs debugfs /sys/kernel/debug 如果不挂载为报以下错误&#x…

Java中的synchronized关键字

目录 1、synchronized是什么 2、synchronized的用法 synchronized可以用在方法或者代码块上,分别称为同步方法和同步代码块。 用法理解 3、synchronized的实现原理 ⭐synchronized锁的对比 4、synchronized的优缺点 ⭐扩展:synchronized 和 vola…

nvm安装管理nodejs版本

1:如果之前先安装了nodejs先卸载nodejs 2:下载nvm,点击下载路径https://github.com/coreybutler/nvm-windows/releases,选择相应环境下载,如下window环境下载 下载成功后,选择NVM安装在哪个文件目录下&…

【隐私计算】VOLE (Vector Oblivious Linear Evaluation)学习笔记

近年来,VOLE(向量不经意线性评估)被用于构造各种高效安全多方计算协议,具有较低的通信复杂度。最近的CipherGPT则是基于VOLE对线性层进行计算。 1 VOLE总体设计 VOLE的功能如下,VOLE发送 Δ \Delta Δ和 b b b给send…

【论文阅读笔记】InstructDiffusion: A Generalist Modeling Interface for Vision Tasks

【论文阅读笔记】StyleAvatar3D: Leveraging Image-Text Diffusion Models for High-Fidelity 3D Avatar Generation 论文阅读笔记论文信息引言动机挑战 方法结果 关键发现相关工作1. 视觉语言基础模型2. 视觉通用模型 方法/模型视觉任务的统一说明训练数据构建网络结构 实验设…

全网最新最全面的Jmeter接口测试:jmeter模拟http请求实战

1、get请求 http://www.hnxmxit.com/ 2、带参数的get请求 微信公众号获取token请求 3、自定义头部信息的请求 百度搜索请求 https://www.baidu.com/s?wd猫 4、post请求 微信公众号添加用户标签请求 注:post请求中如果body中的数据为json,一定要在信息头管理器中…

Qt应用开发--国产工业开发板全志T113-i的部署教程

Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用,因其跨平台性和丰富的功能而备受青睐。 Qt能够为工业领域带来什么好处: -…

袋鼠云产品功能更新报告08期|近百项全新功能和优化,你要的都在这里!

欢迎来到袋鼠云08期产品功能更新报告!在瞬息万变的市场环境中,我们深知客户的需求与期待,因此,我们及时推出袋鼠云最新产品更新及优化,包括数据治理中心、Hive SQL 性能优化、新插件等,助力企业在数字世界中…

awk从放弃到入门(11):拾遗之”三元运算”与”打印奇偶行”

awk从放弃到入门(11):拾遗之”三元运算”与”打印奇偶行” 三元运算打印奇偶行 本博文转载自 这篇文章中的知识点是建立在前文的基础上的,如果你还没有掌握前文中的知识,请先参考之前的文章。 这篇文章其实是对之前知…

IOS/安卓+charles实现抓包(主要解决证书网站无法打开问题)

安装 官网下载 https://www.charlesproxy.com/latest-release/download.do 安装charles文档 流程 上述链接解决下图问题 使用介绍 Charles介绍 上述链接看一至三即可,了解首页各个按钮的作用 charles全面使用教程及常见功能详解(较详细&#xff09…

netty源码:(1)NioEventLoopGroup

EventLoopGroup bossGroup new NioEventLoopGroup(); 不加参数创建NioEventLoopGroup的话,会使用cpu核数*2作为bossGroup的线程数。

二 使用GPIO的复用功能 利用USART 实现printf()

参考这篇: STM32串口通信详解 1. 关于USART USART ( universal synchronous / asynchronous receiver /transmitter) 是一种串行通讯协议 , 允许设备通过串行端口进行数据传输, USART 能够以同步或者异步的方式进行工作,在实际的运用中&…

容器技术发展史,编排与容器的技术演进之路——2

目录: 容器技术发展史 Jail时代 1979 年 贝尔实验室发明 chroot2000 年 FreeBSD 4.0 发行 FreeBSD Jail2001 年 Linux VServer 发行2004 年 Solaris Containers 发行云时代 2006 年 google 推出 Process Containers2008 年 LXC 推出2011 年 CloudFoundry 推出 Ward…

【Linux】I/O多路转接技术

I/O多路转接技术 一、I/O多路转接之select1、select函数2、fd_set的相关内容3、如何在代码中高效的使用select函数4、select服务器5、select的优缺点6、select的适用场景 二、I/O多路转接之poll1、poll函数2、struct pollfd结构2、poll服务器3、poll的优缺点 三、I/O多路转接之…

【从删库到跑路 | MySQL总结篇】索引的详细使用

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、索引…