CentOS源码编译安装Mysql5.5

GodLong 2011-04-19

安装Mysql5.5之前先卸载CentOS自带的Mysql5.0。

[root@localhost ~]# yum remove mysql

编译安装cmake

下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xzvf cmake-2.8.4.tar.gz 
[root@localhost src]# cd cmake-2.8.4
[root@localhost cmake-2.8.4]# ./bootstrap 
---------------------------------------------
CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.

---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------

报错:缺少C的编译器。

安装gcc编译器

可以从Linux系统的安装盘中安装,也可以简单地用yum安装

[root@localhost ~]# yum install gcc

继续cmake的安装

[root@localhost cmake-2.8.4]# ./bootstrap 
---------------------------------------------
CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.
C compiler on this system is: cc 
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C++ compiler on this system.
Please specify one using environment variable CXX.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------

再次报错:缺少C++编译器。

安装gcc-c++编译器

同样可以从Linux系统的安装盘中安装,或者简单地用yum安装

[root@localhost ~]# yum install gcc-c++

重复上面的操作

[root@localhost cmake-2.8.4]# ./bootstrap

没有报错后,编译安装

[root@localhost cmake-2.8.4]# gmake
[root@localhost cmake-2.8.4]# gmake install

开始正式安装Mysql

添加mysql用户和用户组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql

下载mysql的源码包mysql-5.5.11.tar.gz到/usr/local/src下,解压

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xzvf mysql-5.5.11.tar.gz
[root@localhost src]# cd mysql-5.5.11

cmake运行

[root@localhost mysql-5.5.11]# cmake .

报错:

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 
CMake Error at cmake/readline.cmake:82 (MESSAGE):
  Curses library not found.  Please install appropriate package,

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:126 (FIND_CURSES)
  cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
  CMakeLists.txt:250 (MYSQL_CHECK_READLINE)

-- Configuring incomplete, errors occurred!

缺少Curses包,解决办法:

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev,

on Redhat and derivates it is ncurses-devel.很容易看懂,不解释了...

在CentOS下需要安装ncurses-devel

[root@localhost mysql-5.5.11]# yum install ncurses-devel

重新cmake运行

[root@localhost mysql-5.5.11]# cmake .

还是有个警告

Warning: Bison executable not found in PATH

有一个警告,也解决了它,缺少Bison就安装一下

[root@localhost mysql-5.5.11]# yum install bison

再次运行,没有报错

[root@localhost mysql-5.5.11]# cmake .

在编译安装前,可以设置安装的配置选项

[root@localhost mysql-5.5.11]# ./configure --help

根据帮助信息选择自己需要设置的选项,当然也可以跳过这步,按默认设置

开始编译安装,时间有点稍长,可以泡杯咖啡转悠一下...

[root@localhost mysql-5.5.11]# make && make install

完成编译安装

进入安装目录,将程序二进制的所有权改为root,数据目录的说有权改为mysql用户,更新授权表

[root@localhost mysql-5.5.11]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db --user=mysql

安全启动mysql

[root@localhost mysql]# ./bin/mysqld_safe --user=mysql &

关闭mysql

[root@localhost mysql]# ./bin/mysqladmin -u root shutdown -p

默认密码为空

方便调用,为mysql设置一个软链接

[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

有3种方法为root账户设置密码:

使用SET PASSWORD语句

[root@localhost ~]# mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd')

使用mysqladmin命令行程序

[root@localhost ~]# mysqladmin -u root password "newpwd"
[root@localhost ~]# mysqladmin -u root -h host_name password "newpwd"

使用UPDATE语句

[root@localhost ~]# mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
    ->     WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

其他设置处理:

设置选项文件,将配置文件拷贝到/etc下

[root@localhost mysql]# cp support-files/my-medium.cnf /etc/mysql.cnf
  

设置开机自启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chmod +x /etc/init.d/mysql

现在可以通过服务来启动和关闭Mysql

[root@localhost ~]# service mysql start
[root@localhost ~]# service mysql shutdown
 

基本上的安装就是这样了......

相关推荐