当前位置:首页 » 编程软件 » mysql源码编译安装

mysql源码编译安装

发布时间: 2022-06-03 14:54:05

‘壹’ 如何在Windows下编译或调试Mysql

用vs code 就可以了。

Visual Studio Code

Visual Studio Code(简称VS Code)是由微软开发的,同时支持Windows、linux和macOS操作系统的开源文本编辑器。它支持调试,内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于IntelliSense)、代码片段、代码重构等。该编辑器支持用户自定义配置,例如改变主题颜色、键盘快捷方式、编辑器属性和其他参数,还支持扩展程序并在编辑器中内置了扩展程序管理的功能。


安装LLDB

LLDB是LLVM编译器的一部分,推荐使用Homebrew安装LLVM工具集,不建议使用系统自带的LLDB,安装前必须先创建证书否则无法安装,步骤如下:

创建完成后,开始安装LLVM

brew install llvm --with-python@2--with-lldb

安装插件

VS Code自带有debug功能,这里我推荐使用LLDB Debugger插件。

接下来,为项目配置调试参数。

配置调试参数

使用VS Code打开MySQL源码目录,在侧边栏选择debug栏目,添加配置,program输入需要调试的程序路径,这里选择你编译好的mysqld路径,args输入程序启动所需的参数,通常会指定mysqld的配置文件。这样就配置好了,是不是很简单。

启动调试

点击启动按钮,启动后如果没有设置断点会mysqld会正常启动,如果触发了断点会如下图显示。

整个调试窗口基本分为六部分,所有的调试操作都在这里完成:

1:显示变量信息

2:设置重点关注的变量

3:显示调用栈信息

4:设置断点信息,在代码行号前也可以设置断点

5:代码显示区域,上方是调试按钮,包括 continue/stepover/step in/step out/restart/stop

6:调试终端输入输出区


断点设置

在代码行号前点击即可在该行为设置断点,也可以根据条件设置断点。以设置ConditionalBreakpoint为例,当程序启动后会按照你设置的条件表达式判断是否触发断点。

Conditional Breakpoint这种方式用在目标变量达到某条件时触发断点,其余则跳过继续执行。比如:设置变量等于目标表名时触发断点,其余表则跳过,相对函数名断点省去很多手工跳过操作。

远程调试

假如你想调试远程Linux服务器上的MySQL上面的方法就不合适了,这时需要远程调试。lldb和gdb都支持远程调试,这里以lldb为例。

需要先在远程主机上安装lldb,使用yum安装,源地址在这里http://mirror.centos.org/centos/7/sclo/x86_64/rh

remote$ yum install -y llvm-toolset-7

安装完成后,启动lldb-server

remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server

接下来,在VS Code调试界面中新增配置项。

{

"type":"lldb",

"request":"attach",

"name":"Remote attach",

"program":"~/mysql5626/usr/local/mysql/bin/mysqld",

"pid":"<target_pid>",

"initCommands": [

"platform select remote-linux",

"platform connect connect://<remote_host>:9191"

],

"sourceMap": {

"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"

}

},

program:本机也要拷贝一份目标程序,加载

pid:填写远程主机的mysqld进程id

sourceMap:填写mysqld编译的代码路径与本机代码库路径的映射,这样调试时代码才可以和程序关联在一起看

注意:记得调试前将代码切换到与目标程序版本一致的branch

‘贰’ 在linux安装MySQL时采用源码编译安装,但是如何让MySQL的编译时间缩短呢

可以试试在使用make && make install 时添加-j参数,不限制内核进行编译安装。或者-j 后加内核数 。例如 make -j 4 && make install -j 4
优点:速度快会相对提高很多
缺点:消耗大量CPU,内存资源。
我做过一个测试,如果不限定内核 (16核 80GB内存 )的服务器编译安装mysql 5.0.7 安装时长大致在10分钟左右,但是测试时服务器CPU跑满100% ,内存消耗至少32GB。直接使用 make && make install 安装耗时45分钟,内存4GB ,CPU 10%左右。

‘叁’ linux原码编译安装怎么登陆mysql

下面开始一步一步写(非特别注明,都是用root用户执行):
1 下载MariaDB源码:https://downloads.mariadb.org/mariadb/10.0.14/,下载的文件:mariadb-10.0.14.tar.gz
2 安装cmake:apt-get install cmake,ubuntu源上可能不是最新版本的cmake,但是可以用。如果想源码安装cmake可以参考搜索引擎。
3 有一些依赖包的安装,不过我倒现在还没搞清楚具体需要哪些,但是lio-dev这个是要装的,其他的可以搜索。
4 解压源码包,我解压好以后的路径是:/root/mariadb-10.0.14/,进入路径,输入如下命令:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

这里需要根据你规划好的路径修改。
5 这个需要不算太长的时间,但是如果最后提示要你查看错误日志的话,那一般是缺少依赖包,搜索相关错误装好相关依赖即可。
6 如果出现错误,再次编译的时候需要删除CMakeCache文件。
7 不出现错误提示以后输入:make,结束之后输入make install。make需要花费比较长的时间,期间会提示很多warning,直接忽略即可。
8 上面步骤完成之后即完成了安装,下面就可以初始化数据库了。将/usr/mysql所有者修改为mysql。进入/usr/mysql/support_files,执行
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
修改/etc/my.cnf,添加如下语句:
tmpdir = /home/mysql/tmp/
basedir=/usr/mysql
datadir=/home/mysql/data
注意要建立相关目录,并将所有者修改成mysql。
修改/etc/init.d/mysql,将basedir和datadir的值修改成规划好的目录。
9 进入/usr/mysql/script,执行下面的语句:
./mysql_install_db --user=mysql --basedir=/usr/mysql --datadir=/home/mysql/data
执行之后会提示很多,修改/etc/profile,添加PATH变量:export PATH=$PATH:/usr/mysql/bin
执行source /etc/profile
10 启动mysql服务:service mysql start
11 执行:mysqladmin -u root password 'root'
12 这样就装好了mysql,su到mysql用户,执行:mysql -uroot -proot即可进入mysql命令行。
该过程同样适用于mysql,因为mariaDB本身和mysql没有天翻地覆的区别。

‘肆’ mysql 源码编译安装,性能有多大提高

恐怕只有耐心等待更靠谱了。提升电脑配置不太现实。因为你很难确认你把哪一个部件替换更新掉,就能提高编译安装速度,还有具体的能提高多少?这些都难以具体量化。

‘伍’ mysql源代码编译安装错误,请高手指点

需要root权限,。
su root
然后敲入密码就行了。

‘陆’ 源码编译安装mysql怎么与php关联

有php-mysql的扩展,装一下
look
http://www.cleey.com/blog/single/id/745.html

‘柒’ cmake怎样编译安装mysql

用cmake的应该是mysql5.5的版本,之前都是用make的。我安装的使用应该没有使用过.(点)。linux下作为参数传递给命令的.(点)一般代表当前目录

‘捌’ 如何源码安装mysql数据库

这个可以这样
比如解开源码包, 得到一个文件夹ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是这个思路

‘玖’ Mysql5.6.16安装

1、解压
2、配置环境变量(让系统知道你的bin在哪个位置)path里面设置到安装目录的bin目录
4、在cmd中bin目录底下执行mysqld -install(将mysql安装为windows服务)
5、执行命令:net start mysql 或者windows管理工具->服务里面找到MySql服务,并启动
6、在命令行中运行mysql -uroot 进入数据库。
7、修改密码
输入mysql回车
mysql> use mysql;
mysql> update user set password=password("123123") where user="root";
8、刷新权限
mysql> flush privileges;
mysql> \q;退出

打开cmd你知道吧?
开始 -> 运行 --> 输入cmd回车

‘拾’ linux 如何编译安装mysql

使用binary进行安装,文件名mysql-standard-5.0.18-linux-i686-glibc23.tar.gz

[1]将上述文件解压到某处,并将MySQL所以目录名改为mysql,结果应如/home/xxx/mysql

[2]根据mysql目录下的INSTALL-BINARY文件来进行安装

// 加用户组mysql,以及用户mysql;该命令无需修改

shell> groupadd mysql

shell> useradd -g mysql mysql

// 以下三步的主要目的是为MySQL解压目录做一个链接,放到usr/local目录中

// 首先是进入/usr/local目录;该命令无需修改
shell> cd /usr/local

// 这一步可以不需要,因为已经解压了

shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -

// 做一个到/home/xxx/mysql的链接,放在/usr/local中,该链接的名字是mysql。

// 该命令修改为ln -s /home/xxx/mysql mysql

shell>
ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql

// 进入/home/xxx/mysql目录,/usr/local/mysql是到/home/xxx/mysql的链接

shell>
cd mysql

// 对MySQL进行初始化(如果以前已经安装过MySQL,这一步可以简略);该命令无需修改

shell> scripts/mysql_install_db --user=mysql

// 变更所有权;该命令无需修改

shell> chown -R root .

shell> chown -R mysql data

shell> chgrp -R mysql .

// 启动MySQL服务器;该命令无需要修改

shell> bin/mysqld_safe --user=mysql &
[3]进入MySQL应用环境
进入mysql目录下的bin目录,运行命令./mysql -u root
-p,此时将出现password:(要求输入密码),但默认情况下root用户没有密码,所以回车即可。此时将进入MySQL界面,当然仍然只是个命令行窗口而以。
[4]简单使用MySQL
在MySQL环境中运行命令show databases;,将会显示已经有的数据库(如test);运行命令use test,将进入test数据库...

注意:如果在运行./mysql -u root -p之后,报
Can't connect to local MySQL server through socket '/tem/mysql.sock'
的错误,那么可能有以下几种情况:
[1]mysql.sock并不在/tmp目录下,而是在其它某个目录下(如,/var/lib/mysql目录)。这时只需要将这个mysql.sock做链接到/tmp目录下,运行命令:
ln -s MYSQL.SOCK_PATH /tmp/mysql.sock

[2]在同学的笔记本的Linux中,会在/tmp下生成mysql.sock,但重新启动Linux后,该文件被删除。这时也可以用情况2中的解决方法,或者每次都运行命令:./mysqld_safe --user=mysql &

热点内容
修改pve服务器ip 发布:2024-05-19 18:31:52 浏览:468
微信密码忘记了如何取出里面的钱 发布:2024-05-19 18:27:35 浏览:329
vs2005反编译 发布:2024-05-19 18:26:34 浏览:363
ug启动语言脚本 发布:2024-05-19 18:25:57 浏览:874
缓存服务器技术 发布:2024-05-19 18:25:56 浏览:885
androidlistview横向 发布:2024-05-19 18:21:02 浏览:704
多看ftp 发布:2024-05-19 18:11:31 浏览:543
给定一个算法 发布:2024-05-19 17:50:08 浏览:864
恋爱生物种离线缓存 发布:2024-05-19 17:49:15 浏览:579
卡巴斯基服务器如何连接外网更新 发布:2024-05-19 17:42:06 浏览:560