【转】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
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
成功了