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、更新系统必备的工具

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev
sudo apt-get install sysv-rc-conf
sudo apt-get install cmake
3、解压mysql源码包

tar xvzf mysql-????.tar.gz

4、创建mysql用户组

sudo groupadd mysql
sudo useradd -r -g mysql mysql

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

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/mysql \
-DMYSQL_DATADIR=/usr/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DWITH_DEBUG=0 \
-DWITH_INNOBASE_STORAGE_ENGINE=1

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

sudo make
sudo make install

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

sudo chown -R mysql .
chgrp -R mysql .
sudo bin/scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/mysql \
--datadir=/usr/mysql/data \
--no-defaults

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

8、配置my.cnf

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、复制服务控制文件

sudo cp /usr/mysql/support-files/mysql.server /etc/init.d/mysql

10、建立mysql.pid

cd /usr/mysql/
touch mysql.pid

11、测试mysql运行

sudo service mysql start
或者到目录中运行

sudo /etc/init.d/mysql start


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

查看方法

tail xxx.err
一般都是permision denied,自己处理一下吧
12、设置开机运行

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


重启后service mysql status

mysql is running

成功了

你可能感兴趣的:(ubtuntu)