您的位置:首页 > 数据库 > MySQL

在CentOS下使用源代码安装MySQL

2011-03-11 12:48 471 查看
几经波折,可喜可贺,记录如下:

1:如果你未安装ncurses包,那么:
去下载一个ncurses-5.6.tar.gz并安装:
输入如下命令:
[root@localhost root]#wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz //下载包
[root@localhost root]#tar zxvf ncurses-5.6.tar.gz //解压
[root@localhost root]#cd ncurses-5.6
[root@localhost ncurses-5.6]./configure --prefix=/usr --with-shared --without-debug//预编译
[root@localhost ncurses-5.6]#Make//生成可执行文件
[root@localhost ncurses-5.6]#make install clean//清空执行安装文件是所产生的垃圾文件和缓存...

2:下载MySQL-*.*.tar.gz,解压
参考网站:MySQL-*.*.tar.gz:http://download.mysql.cn/src/2006/0710/5544.html
[root@localhost root]# cd /usr/local/mysql/software
[root@localhost software]# ls
mysql-4.0.16.tar.gz
[root@localhost software]#tar zxvf mysql-4.0.16.tar.gz
3:mysql编译和安装:
在这个地方值得注意的是,我们要把CentOS mysql安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在//usr/local/mysql 目录里。所以在这里,我们就要把mysql-4.0.16也安装到//usr/local/mysql/mysql这个目录中;
[root@localhost software]#cd
[root@localhost software]# cd mysql-4.0.16
[root@localhost mysql-4.0.16]#
./configure --prefix=//usr/local/mysql/mysql --with-mysqld-user=beinan --with-extra-charsets=all --with-unix-socket-path=//usr/local/mysql/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so.5/////这句很重要

[注]关于configure的选项的一点说明:

prefix=//usr/local/mysql/mysql 把mysql-4.0.16指定安装到//usr/local/mysql/mysql目录中;
with-extra-charsets=all 对多语言的支持;

with-unix-socket-path=//usr/local/mysql/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果CentOS mysql服务器成功启动后,就能在//usr/local/mysql/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是CentOS mysql启动不了。删去这句的话则默认将mysql_sock安装在//tmp目录下

--with-named-curses-libs=/usr/lib/libncursesw.so.5是为了让mysql能够识别出路径

with-mysqld-user=beinan 这个是让mysql服务器也能让系统中普通用户beinan也能启动mysql服务器。
[root@localhost mysql-4.0.16]#make
[root@localhost mysql-4.0.16]#make install
这样就CentOS mysql安装完了

如果你没有安装ncurses包或者没有加上--with-named-curses-libs=/usr/lib/libncursesw.so.5那么在执行第3步的时候可能会产生这样的错误提示:checking for termcap functions library… configure: error: No curses/termcap library found

4:mysql配置
一般的情况下CentOS mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让CentOS mysql服务器启动时能找到它。我们安装好CentOS mysql后,配制文件应该在//usr/local/mysql/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

进入/usr/local/mysql这个目录,看一下是不是已经安装好了呢??
[root@localhost mysql-4.0.16]# cd //usr/local/mysql/mysql/
[root@localhost mysql]# ls
bin include info lib libexec man mysql-test share sql-bench
我们把//usr/local/mysql/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
[root@localhost mysql]# cp //usr/local/mysql/mysql/share/mysql/my-medium.cnf /etc/my.cnf

做了这些工作以后,还得创造CentOS mysql授权表,否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。CentOS mysql安装的命令都安装到了//usr/local/mysql/mysql/bin这个目录中。
[root@localhost mysql]#//usr/local/mysql/mysql/bin/mysql_install_db
运行mysql_install_db命令过后,我们查看//usr/local/mysql/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,就在在//usr/local/mysql/mysql/var目录中有linuxsir的目录。这回应该明白了吧。

5:启动CentOS mysql服务器
CentOS mysql服务器启动,应该是//usr/local/mysql/mysql/share/mysql目录中的 mysql.server
启动方法是:
[root@localhost mysql]# //usr/local/mysql/mysql/share/mysql/mysql.server start
如果不能启动请运行/usr/local/mysql/bin/mysqld_safe --user=root 就能够启动了!!
接着输入/usr/local/mysql/mysql/share/mysql/mysql.server start即可成功启动
我们把密码设置为123456 /usr/local/mysql/bin/mysqladmin -u root password 123456
如果没有返回错误说明正确了。
6:进入数据库进行管理
接着输入/usr/local/mysql/bin/mysql -u root -p就可以操作数据库了。

参考网址:http://blog.sina.com.cn/s/blog_5208a7520100n4in.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: