博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql源码安装
阅读量:5829 次
发布时间:2019-06-18

本文共 2963 字,大约阅读时间需要 9 分钟。

我准备学下mysql的源码,所以编译和调试源码是很重要的一部分。

好了废话不多说。

我的环境是 CentOS-6.9-x86_64-minimal,这个可以在阿里的源中直接下。

然后是安装之前的准备工作

先装好环境

yum updateyum -y install cmakeyum -y install bisonyum -y install library*yum -y install libncurses5-devyum -y install g++yum -y install kdelibs5-devyum -y install makeyum -y install gcc-c++

接着创建mysql的程序目录,已经用户和用户组

mkdir -p /usr/local/mysql                 //安装mysql mkdir -p /usr/local/mysql/data            //存放数据库groupadd mysqluseradd -r -g mysql mysql

装好了这些环境后,在下载mysql的源码,由于我想学腾讯的tMySQL,而他的版本又是MySQL5.5.24,所以我安装的也是这个版本,你们可以自己选择自己喜欢的版本安装。

下载链接在这里

wget https://downloads.mysql.com/archives/get/file/mysql-5.5.24.tar.gz

下载好之后解压,并进入目录

tar -xzvf mysql-5.5.24.tar.gzcd  mysql-5.5.24

然后执行

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

这些cmake参数的意思如下:

参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录

-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录

-DDEFAULT_CHARSET=utf8     //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all     //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1    //允许从本地导入数据

然后,可能会出现如下错误

Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Error at cmake/readline.cmake:83 (MESSAGE):  Curses library not found.  Please install appropriate package,      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.Call Stack (most recent call first):  cmake/readline.cmake:127 (FIND_CURSES)  cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)  CMakeLists.txt:268 (MYSQL_CHECK_READLINE)-- Configuring incomplete, errors occurred!See also "/opt/mysql-5.5.24/CMakeFiles/CMakeOutput.log".See also "/opt/mysql-5.5.24/CMakeFiles/CMakeError.log".

按照提示是没有安装 ncurses-devel库导致的,于是我们手动安装ncurses-devel,并记得要删除cmake缓存文件CMakeCache.txt,然后重新执行之前的命令。

yum -y install ncurses-develrm CMakeCache.txt

然后我们就可以make了,假如你的机器之前安装过mysql然后又卸载了的话,记得将原来的配置文件删掉

rm -rf /etc/my.cnfmake && make install

然后,如果没有错误的话,那么安装完成,接着来配置mysql

cd /usr/local/mysqlchown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysqlchown -R mysql:mysql datacp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中

然后再利用mysql的脚本来创建数据库

目录在 /usr/local/mysql

scripts/mysql_install_db --user=mysql

然后配置mysql的环境变量

vi /root/.bash_profile######################################################## .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binPATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib #将这一行添加进去alias l='ls -lrht'export PATH######################################################source /root/.bash_profile

然后就可以在/usr/local/mysql目录下启动mysql了

./bin/mysqld_safe --user=mysql &

然后打开另一个终端输入

mysql -uroot mysql

就可以连接上了

最后加一句如何关闭mysql,在/usr/local/mysql/中执行

# mysqladmin -u root -p shutdown

别手贱用kill命令,会产生僵尸进程的

转载地址:http://ffldx.baihongyu.com/

你可能感兴趣的文章
Linux基础命令---rmdir
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
FreeMarker-Built-ins for strings
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
我理想中的前端工作流
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
Android状态栏实现沉浸式模式
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
zabbix监控php状态(四)
查看>>
实战Django:小型CMS Part2
查看>>
原创]windows server 2012 AD架构试验系列 – 16更改DC计算机名
查看>>
统治世界的十大算法
查看>>
SSH中调用另一action的方法(chain,redirect)
查看>>
数据库基础
查看>>
表格排序
查看>>