Linux/Ubuntu下CMake编译MySQL教程

使用Linux+Vim写PHP简直是一种享受。下面是我的Vim配置和安装的插件。

1. 下载MySQL 5.5.28源码包
下载地址:http://www.mysql.com/downloads/mysql/#downloads

在MySQL下载页面的下拉框选择“Source Code”,然后选择最下面的tar.gz格式,开始下载。wget开始可以使用:http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz这个地址。

2. 添加MySQL用户和组

 代码如下 复制代码

 sudo groupadd mysql 

 sudo useradd -r -g mysql mysql

3. 安装一些需要的软件

 代码如下 复制代码

sudo apt-get install cmake automake autoconf libtool gcc g++ bison

如果只安装上面的扩展,编译过程总会出现这样的错误:-- 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.,则需要多安装libncurses5-dev包。
sudo apt-get install libncurses5-dev

提示,为了保证速度,请更新Ubuntu源为最快的源:Ubuntu更新源推荐。

4. CMake编译MySQL

 代码如下 复制代码

#创建目录
sudo mkdir /data/mysql/
 
#开始编译(注意下面的命令是一句,实际情况是没有换行的,这里为了方便添加注释)
sudo cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
-DMYSQL_DATADIR=/data/mysql/            #数据文件存放位置
-DSYSCONFDIR=/etc                       #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1          #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1        #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1          #支持InnoDB引擎
-DWITH_READLINE=1                       #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      #连接数据库socket路径
-DMYSQL_TCP_PORT=3306                   #端口
-DENABLED_LOCAL_INFILE=1                #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1       #安装支持数据库分区
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk   #安装需要的字符集
-DDEFAULT_CHARSET=utf8                  #默认字符
-DDEFAULT_COLLATION=utf8_general_ci     #默认字符集
 
#make安装
sudo make && make install

5. 配置MySQL
这一步中需要注意的是my.cnf的加载顺序,Linux优先级从高到低/etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf,高优先级的my.cnf设置会覆盖低优先级的my.cnf,所以一般把config文件copy到etc中即可。

 代码如下 复制代码

#如果/etc下没有my.cnf
sudo cp support-files/my-medium.cnf /etc/my.cnf
 
#设置权限
sudo chmod +x /usr/local/mysql
sudo chown -R mysql.mysql /usr/local/mysql
 
#配置开机自启动
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql
sudo chkconfig –list
sudo update-rc.d mysql defaults `/sbin/chkconfig –add mysql; /sbin/chkconfig mysql on`
sudo chkconfig –list mysql
 
#修改my.cnf配置
vim /etc/my.cnf
 
#[mysqld] 添加:
datadir=/data/mysql
default-storage-engine=MyISAM
 
#以下可选:
log-error = /data/mysql/error.log
pid-file = /home/mysql/mysql.pid
user = mysql
tmpdir = /tmp
 
#安装默认数据表
/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/da/mysql –user=mysql
 
#启动MySQL
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
#或者
/etc/init.d/mysql start (service mysql start)
 
#测试MySQL是否启动
# 1)查看是否有进程mysql
ps -ef | grep mysql
# 2)查看端口是否运行
netstat -tnl | grep 3306
# 3)读取mysql版本信息
mysqladmin version
##安装成功,Thanks God!

到此MySQL编译完成,如果这个时候MySQL无法启动,那么多问题基本上都处在my.cnf的位置和设置上。最后进入MySQL修改root用户的密码,当前密码为空:

 代码如下 复制代码

UPDATE user SET password=PASSWORD("new password") WHERE user='root';
FLUSH PRIVILEGES;

时间: 2024-08-01 01:50:46

Linux/Ubuntu下CMake编译MySQL教程的相关文章

图文详解Ubuntu下安装配置Mysql教程_Mysql

Ubuntu安装Mysq有l三种安装方式,下面就为大家一一讲解,具体内容如下 1. 从网上安装 sudo apt-get install mysql-server.装完已经自动配置好环境变量,可以直接使用mysql的命令. 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多. 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例. 3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用m

ubuntu下php向mysql插入数据中文乱码

问题描述 ubuntu下php向mysql插入数据中文乱码 查了很多东西,能配置的编码都配置成了utf8 解决方案 楼主,我的第一个采纳.. 解决方案二: http://www.linuxidc.com/Linux/2008-05/12967.htm 解决方案三: http://blog.csdn.net/pinghegood/article/details/6704673 解决方案四: 图片没有显示全来补充下 解决方案五: 解决方案六: 解决方案七: 解决方案八: 解决方案九: 创建数据库的时

在Linux(Ubuntu)下搭建PHP环境的操作步骤_unix linux

一.安装Apache2 sudo apt-get install apache2 二.测试Apache2 在地址栏输入以下地址,出现如图所示照片,则表明安装成功 http://localhost/ 三.重启apache2服务 sudo /etc/init.d/apache2 restart //'restart'->'stop'关闭服务; 'restart'->'start'启动服务 四.安装PHP sudo apt-get install php5 libapache2-mod-php5 `

ubuntu下简单配置mysql数据库

ubuntu下简单配置mysql数据库 一). ubuntu下mysql安装布局: /usr/bin                      客户端程序和mysql_install_db /db                             数据库和日志文件 /var/run mysqld        服务器 /etc/mysql mysql       配置文件my.cnf /usr/share/mysql       字符集,基准程序和错误消息 /etc/init.d/mysq

Linux系统下无法访问mysql怎么办?

mysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?下面我们一起来看看解决方法. 1.问题及异常 ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!! Co

Linux系统下无法访问mysql解决方法

  mysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?下面我们一起来看看解决方法. 1.问题及异常 ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!!

ubuntu 下ndk编译错误

问题描述 ubuntu 下ndk编译错误 各位大牛请问在win7上装了ubuntu的拟虚现然后编译下载后的ndk里的hello-jni出现我以下 错误 [arm64-v8a] Compile : hello-jni <= hello-jni.c as: unrecognized option '-EL' make: *** [obj/local/arm64-v8a/objs/hello-jni/hello-jni.o] Error 1 解决方案 NDK C++ 编译错误NDK编译错误 解决方案二

MySQL入门完全指南及Linux系统下基本的安装教程_Mysql

我们来了解一下MySQL的基本特性: 1.内部构件和可移植性 使用C和C++编写 用众多不同的编译器进行了测试 能够工作在众多不同的平台上.请参见2.1.1 "MySQL支持的操作系统". 使用GNU Automake.Autoconf和Libtool进行移植. 提供了用于C.C++.Eiffel.Java.Perl.PHP.Python.Ruby和Tcl的API. 采用核心线程的完全多线程 如果有多个CPU,它能方便地使用这些CPU. 提供了事务性和非事务性存储引擎. 使用了极快的&

Linux系统下自行编译安装MySQL及基础配置全过程解析_Mysql

安装依赖: CentOS: # yum -y install wget gcc-c++ cmake make bison ncurses-devel perl unzip Ubuntu:(使用ubuntu下面有不少需要root权限,请注意) 复制代码 代码如下: # sudo apt-get install -y g++ gcc make libpcre3 zlib1g libbz2-dev automake cmake perl libncurses5-dev bison 添加MySQL系统用