CentOS 5.3 Linux 编译安装 mysql-6.0.10-alpha 源代码和简单设置
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 前面, 然后保存退出。