日期:2014-05-16  浏览次数:20794 次

源码编译安装mysql
由于开发环境中的mysql有别的用处,为了不影响开发换进需要源码安装mysql,选择版本为5.5.27,需要安装包如下:
cmake-2.8.9.tar.gz
mysql-5.5.27.tar.gz

1. 安装cmake
> tar zxvf cmake-2.8.9.tar.gz
> cd cmake-2.8.9
> ./configure
> make && make install

2. 编译安装mysql
>tar zxvf mysql-5.5.27.tar.gz
>cd mysql-5.5.27
>cmake .
>make && make insall

cmake编译mysql也有许多选项,这里暂时忽略,选择默认安装,默认安装的路径为/usr/local/mysql

3. 初始化mysql
> groupadd mysql
> useradd -r -g mysql mysql
/usr/local/mysql/script > ./mysql_install_db --datadir=/var/mysql/
--basedir=/usr/local/mysql -umysql 

初始化工作必须要做,否则启动的时候会报:table ./mysql.host找不到的错误
4. 修改访问权限
> chown -R mysql:mysql /var/mysql

5. 手工启动
 > ./mysqld_safe --datadir=/var/mysql --socket=/var/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr/local/mysql --user=mysql 

6. pid和socket文件
 > touch /var/mysql/mysql.sock
> mkdir -p /var/run/mysqld
> chown -R mysql:mysql /var/run/mysqld

注:
--defaults-file与--defaults-extra-file均提示错误
/usr/local/mysql/bin/mysqld: unknown variable 'defaults-file=/usr/local/mysql/support-files/my-medium.cnf'

不知是何原因?按照帮助文档上是可以指定配置文件的。
答:指定--defaults-file=path一定要在第一个,否则会提示上面的错误

6. 连接mysql
> mysql --socket=/var/mysql/mysql.sock
mysql> show databases;

由于启动mysqld时指定了特定的.sock文件,连接时要保持一致

[参考]
Mysql的启动参数
mysql官方文档Autotools to CMake Transition Guide