【转】Ubuntu编译安装mysql源码

主要参考了下面两篇文章

http://forum.ubuntu.org.cn/viewtopic.php?t=330121

http://www.linuxidc.com/Linux/2011-09/42290.htm

 

 

1、去mysql官网下载最新的源码,下载页下拉菜单选Source Code->Generic Linux ????.tar.gz

2、更新系统必备的工具

 

[plain] view plaincopy
 
  1. sudo apt-get install build-essential  
  2. sudo apt-get install libncurses5-dev  
  3. sudo apt-get install sysv-rc-conf  
  4. sudo apt-get install cmake  

3、解压mysql源码包

 

 

[plain] view plaincopy
 
  1. tar xvzf mysql-????.tar.gz  

 

4、创建mysql用户组

 

[plain] view plaincopy
 
  1. sudo groupadd mysql  
  2. sudo useradd -r -g mysql mysql  


5、进入mysql解压后的目录,使用cmake指令编译mysql

 

 

[plain] view plaincopy
 
  1. cmake . \  
  2. -DCMAKE_INSTALL_PREFIX=/usr/mysql \  
  3. -DMYSQL_DATADIR=/usr/mysql/data \  
  4. -DDEFAULT_CHARSET=utf8 \  
  5. -DDEFAULT_COLLATION=utf8_general_ci \  
  6. -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \  
  7. -DWITH_DEBUG=0 \  
  8. -DWITH_INNOBASE_STORAGE_ENGINE=1  


6、编译安装,使用root比较简单,权限问题很严重

 

 

[plain] view plaincopy
 
  1. sudo make  
  2. sudo make install  


7、进入安装厚的目录执行

 

 

[plain] view plaincopy
 
  1. sudo chown -R mysql .  
  2. chgrp -R mysql .  
  3. sudo bin/scripts/mysql_install_db \  
  4. --user=mysql \  
  5. --basedir=/usr/mysql \  
  6. --datadir=/usr/mysql/data \  
  7. --no-defaults  


必须有一个–no-defaults选项,如果没有该选项,则程序会自动载入默认的配置文件

 

8、配置my.cnf

 

[plain] view plaincopy
 
  1. sudo cp /usr/mysql/support-files/my-medium.cnf /etc/mysql/my.cnf  

通常我们是通过脚本传入适当的参数启动mysqld。因此在/etc/mysql/my.cnf中加入如下的内容:

 

引用:
[mysqld]
basedir=/usr/mysql
datadir=/usr/mysql/data
user=mysql

pid-file = /usr/mysql/mysql.pid

 

 

9、复制服务控制文件

 

[plain] view plaincopy
 
  1. sudo cp /usr/mysql/support-files/mysql.server /etc/init.d/mysql  


10、建立mysql.pid

 

 

[plain] view plaincopy
 
  1. cd /usr/mysql/  
  2. touch mysql.pid  


11、测试mysql运行

 

 

[plain] view plaincopy
 
  1. sudo service mysql start  

或者到目录中运行

 

 

[plain] view plaincopy
 
  1. sudo /etc/init.d/mysql start  

 

 

报错的处理什么pid的错误,应该是没有权限造成的,具体错误可以去/usr/mysql/data/xxxx.err中查看

查看方法

[plain] view plaincopy
 
  1. tail xxx.err  

一般都是permision denied,自己处理一下吧

 


12、设置开机运行

 

[plain] view plaincopy
 
  1. sudo sysv-rc-conf  

该工具采用的是图形界面,很直观在此就不介绍如何使用了,我们需要做的是找到【mysql】一栏,选定【3】【4】【5】这三列,这样就完成了开机自动启动MySQL daemon了。

 

 

重启后service mysql status

mysql is running

成功了

posted @ 2015-11-02 15:49  VincentQF  阅读(406)  评论(0编辑  收藏  举报