欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

CentOS 5.3 Linux 编译安装 mysql-6.0.10-alpha 源代码和简单设置

程序员文章站 2022-03-10 09:41:54
...

Compressed GNU TAR archive (tar.gz) 6.0.10-alpha 34.3M Download | Pick a mirrorMD5: ebcefbaca78299f5820794350d0025d5 |

作为服务器,或者个人学习编程设计,数据库是少不了的,

而且如果免费的数据库,功能也不差的,建议大家选择MySQL数据库,

对于中小型网站,或者个人学习数据库编程 已经够了。呵呵。

你可以到 找到mysql相关信息,和下载,mysql现在已经属于sun的啦,

而 sun 最近又被 Oracle 收购了。。。。

Source downloads (源代码下载) 下载源代码就可以,因为我们使用编译方式来安装。

Compressed GNU TAR archive (tar.gz) 6.0.10-alpha 34.3M Download | Pick a mirror
MD5: ebcefbaca78299f5820794350d0025d5 | Signature
下面进行 编译安装 mysql 数据库

把 mysql-6.0.10-alpha.tar.gz 下载到 CentOS 5.3 系统中去,,

1, 下载mysql数据库 源代码 : mysql-6.0.10-alpha.tar.gz

2, 解压 文件比较多,解压也一段时间。
src]# tar vxzf mysql-6.0.10-alpha.tar.gz

3, 进入目录进行 -> 配置,编译,安装

]# cd mysql-6.0.10-alpha

配置生成 makefile 文件
]# ./configure --sysconfdir=/etc

checking for termcap functions library... configure: error: No curses/termcap library found
出现错误,也就是生成 makefile 文件出错了。

[root@localhost mysql-6.0.10-alpha]# make
make: *** No targets specified and no makefile found. Stop.
如果你硬要输入 make 命令是不行的,因为 makefile 根本没有生成成功。

解决办法:
我们加入 --with-named-curses-libs=/usr/lib/libncursesw.so.5 进行生成 makefile
./configure --sysconfdir=/etc --with-named-curses-libs=/usr/lib/libncursesw.so.5

Thank you for choosing MySQL!
看到这句话,生成 makefile 成功了。

下面进行make编译: 需要的时间比较长。
]# make

编译安装虽然花费的时间比较长,但是它应该可以适合任何一个发行版本的
Linux,编译的中途过程我就不播放视频出来了,截断一部分。我现在已经编译完成。

make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/sql-bench'
Making all in win
make[1]: Entering directory `/opt/mysql-6.0.10-alpha/win'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/mysql-6.0.10-alpha/win'
最后进行安装
]# make install

编译安装完毕,有时候需要很长时间,如何判断是否死机?
注意观察主机的硬盘灯,编译安装时候 硬盘灯是一闪一闪的,有数据读取。

下面拷贝配置文件
]# cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

以后配置mysql ,就修改 /etc/my.cnf 即可

4, 初始化数据库
# useradd -d /usr/local/var mysql
# su - mysql
$ /usr/local/bin/mysql_install_db

初始化出现错误。

Installing MySQL system tables...
090518 7:16:41 [ERROR] /usr/local/libexec/mysqld: unknown option '--skip-federated'
090518 7:16:41 [ERROR] Aborting

090518 7:16:41 [Note] /usr/local/libexec/mysqld: Shutdown complete

我们解决办法是,先 删掉 /usr/local/var 下的 mysql 文件夹

rm -rf /usr/local/var/mysql

然后修改 vi /etc/my.cnf

找到 skip-federated 注释掉 ,也就是改成 ####skip-federated 然后保存退出

su - mysql 用会 mysql 身份, 来重新初始化

/usr/local/bin/mysql_install_db

这次成功了吧,没有出现错误信息。
5, 启动服务器
[mysql@localhost var]$ /usr/local/bin/mysqld_safe &

现在成功了, 用 netstat -tnl 看到 3306 熟悉的 mysql默认端口

6, 登陆测试
[mysql@localhost local]$ mysql -u root

成功的话, 出现
mysql>
mysql>\s
mysql>\q

可以使用 show databases;

一般,如果你是编译安装mysql ,建议你像我下面的做法

提升为 root 用户, su -

cp /usr/local/share/mysql/mysql.server /etc/init.d/mysqld

mysql 关闭的命令为:/etc/init.d/mysqld stop
[root@localhost ~]# /etc/init.d/mysqld stop
Shutting down MySQL.090518 07:26:41 mysqld_safe mysqld from
pid file /usr/local/var/localhost.localdomain.pid ended SUCCESS!

就会显示 关闭成功。
mysql 启动的命令为:/etc/init.d/mysqld start

[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!

下面修改 服务器启动时候,就自动运行 mysql 6.0
vi /etc/rc.d/rc.local

我把它运行在 tomcat 前面, 然后保存退出。

CentOS 5.3 Linux 编译安装 mysql-6.0.10-alpha 源代码和简单设置