【转】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

成功了

原文地址:https://www.cnblogs.com/qf19910623/p/4930366.html