编译安装mysql5.5_CentOS5.5下编译安装Mysql5.5

Linux下安装Mysql其实有很多方法,既可以自己下载rpm包双击安装,也可以通过添加/删除软件的形式安装,还可以利用yum install mysql的方式安装。当然,如果希望对MySQL安装过程有更深入的了解甚至干预,那一定要了解编译安装。关于MySQL编译安装的资料,网上是五花八门,存在各种问题。本文就来讲讲本人的安装过程,希望能对大家有所帮助。需要注意的是,不同的Mysql版本安装方法有细微的差异,本文中涉及到的Mysql版本为5.5.35。

本文的操作系统是一个刚装好的新系统,因此默认没有安装cmake,make,gcc,g++等工具,因此安装过程中也会涉及到这些工具的安装。

1.下载MySQL安装包

直接去http://dev.mysql.com/downloads/mysql/页面,Select Version选择5.5.35,Select Platform选择Source Code,然后下载Generic Linux (Architecture Independent)Compressed TAR Archive,大小为20.7M。

有人可能在系统中曾经安装过MySQL,或者卸载的过程中存在残留,为了确保安装前不存在任何MySQL的东西,我们先卸载(清除)原有的安装。如果你肯定之前没有安装过,或者系统没有自带MySQL,那下面的几步可以不予考虑。

(1)查找带mysql的文件,删除曾经的安装残余

[huake@localhost ~]$ cd /     #切换到根目录

[huake@localhost /]$ su         #切换到超级用户

口令:

[root@localhost /]# find -name "*mysql*"    #查找带mysql的文件

./selinux/booleans/mysqld_disable_trans

./selinux/booleans/allow_user_mysql_connect

./home/huake/Desktop/mysql-5.5.35.tar.gz

首先切换到根目录,把帐号切换成超级用户,在根目录下开始查找带mysql字样的文件。从上面的结果中看出,本机存在一个 mysql-5.5.35.tar.gz源码包,以及 mysqld_disable_trans和allow_user_mysql_connect 两个文件。后面两个文件是删除不掉的,且为空文件,对安装没有任何影响。除此之外,出现诸如/usr/local/mysql/等的文件,均可以认为是安装的残余,可以直接删除之(这是一种最保险的卸载软件的方法)。

(2)更改源码文件的权限并解压

[root@localhost huake]# chmod 755 mysql-5.5.35.tar.gz

[root@localhost huake]# tar zxvf mysql-5.5.35.tar.gz mysql-5.5.35

安装包被加压到mysql-5.5.35目录下。

2.添加mysql用户和用户组

这一步貌似不是必须的,但习惯上会为mysql软件创建一个mysql用户。首先我们要看看是不是已经存在mysql用户和组了。使用如下指令:

[root@localhost /]# cat /etc/passwd

然后从passwd文件中看是否存在mysql帐号。我的本机已经存在mysql帐号了,如下所示:

mysql:x:501:501::/home/mysql:/bin/bash

如[果机器上没有mysql帐号,可以使用如下指令添加:

root@localhost huake]# groupadd mysql

[root@localhost huake]# useradd -g mysql mysql

需要注意的是,可能是由于安全策略,我机器上添加帐号必须要以root帐号登录系统之后才能添加,在非root帐号的界面里,即使su成root帐号,也不能添加用户和用户组。

3.安装cmake,make,gcc,g++等

yum install cmake       #安装cmake

此时会自动下载cmake的包并安装。

yum install make        #安装make

此时会自动下载make的包并安装。

yum install gcc          #安装gcc

此时会自动下载gcc的包并安装。

yum install gcc-c++  #安装g++

此时会自动下载g++包并安装。注意,很多人在装的时候没有安张g++,这会导致安装过程出错。

另外,我们还需要安装ncurses-devel包,否则编译过程中也会报错。使用如下指令可以安装:

rpm -ivh ncurses-devel*.rpm

4.编译安装MySQL

现在,我们可以开始编译安装MySQL了。切换到mysql-5.5.35目录下,输入如下指令:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR==/usr/local/webserver/mysql/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0

上面指令的作用分别是:

DCMAKE_INSTALL_PREFIX                           指定安装路径

DMYSQL_DATADIR                                     指定数据文件路径

DWITH_INNOBASE_STORAGE_ENGINE            指定存储引擎

MYSQL_TCP_PORT                                    指定占用端口

DMYSQL_UNIX_ADDR                                 指定SOCK文件路径

DMYSQL_USER                                         指定用户

DWITH_DEBUG                                         调试模式

编译之后,开始安装,指令为:

make

make install

安装完毕后,进入之前设置的安装路径usr/local/webserver/mysql,得到安装后的文件如下如图所示:

8f812ae0a2c0d35b3abbcf0ad90062ba.png

这说明安装已经大功告成了。

5.安装默认数据库实例

安装完成后并不表示大功告成了,因为我们还需要安装默认数据库实例,也就是通常见到的mysql数据库。步骤如下:

cd /usr/local/webserver/mysql                         #切换到mysql安装目录下

cp support-files/my-medium.cnf /etc/my.cnf      #把my-medium.cnf复制到etc下

vim /etc/my.cnf                                            #修改my.cnf文件

chown mysql:mysql /etc/my.cnf                       #修改权限

chown -R mysql:mysql /usr/local/webserver/mysql

cp scripts/mysql_install_db .                    #把my-medium.cnf 复制到安装路径下

./mysql_install_db                                  #安装数据库

需要说明的是,上面修改my.cnf文件的时候,没有做任何修改,因为我在退出的时候忘记保存了。实际上因为我是默认参数安装,所以不修改也没有什么坏处。

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

启动成功。查看MySQL进程,结果如下:

[root@localhost mysql]# ps -ef | grep mysql

root     22971     1  0 19:16 ?        00:00:00 /bin/sh ./bin/mysqld_safe --user=root

root     23223 22971  0 19:16 ?        00:00:02 /usr/local/webserver/mysql/bin/mysqld --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --plugin-dir=/usr/local/webserver/mysql/lib/plugin --user=root --log-error=/usr/local/webserver/mysql/data/localhost.localdomain.err --pid-file=/usr/local/webserver/mysql/data/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306

root     23825 23314  0 19:32 pts/1    00:00:00 grep mysql

至此,安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值