Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1853939
  • 博文数量: 237
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-30 10:33
文章分类

全部博文(237)

文章存档

2011年(1)

2007年(59)

2006年(177)

我的朋友

分类: BSD

2006-06-23 10:37:10

# pkg_add -v mysql-server-4.0.24p1.tgz

 

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

 

 

 

/usr/local/bin/mysqladmin -u root password 'new-password'

/usr/local/bin/mysqladmin -u root -h password 'new-password'

 

See the manual for more instructions.

 

Please report any problems with the /usr/local/bin/mysqlbug script!

 

The latest information about MySQL is available on the web at

Support MySQL by buying support/licenses at

 

 

2. 安装mysql-server-4.0.24p1:

 

# pkg_add -v mysql-server-4.0.24p1.tgz

# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

 

如果不想让其他机器连接MYSQL,可以通过下面的操作实现:

 

# vi /etc/my.cnf

 

bind-address = 127.0.0.1

 

启动MYSQL-SERVER服务器:

 

# /usr/local/bin/mysqld_safe &

 

设置ROOT的MYSQL密码:

 

# /usr/local/bin/mysqladmin -u root password mypass

 

为了方便启动和关闭MYSQL服务建立了下面的脚本:

 

# vi /etc/rc.d/mysqld.sh

========================================================

#!/bin/sh

# made by llzqq

# mail:openbsd@163.com

# mysql startup scripts

case "$1" in

start)

if [ -x /usr/local/bin/mysqld_safe ]; then

/usr/local/bin/mysqld_safe &

fi

;;

stop)

pkill mysqld &

rm -f /var/run/mysql/mysql.sock &

 

;;

*)

echo "$0 start | stop"

;;

esac

exit 0

========================================================

 

# chmod 555 /etc/rc.d/mysqld.sh

 

设置开机启动MYSQL

 

# vi /etc/rc.local

 

if [ -f /etc/my.cnf ]; then

       /etc/rc.d/mysqld.sh start

fi

 

 

 

 

 

 

第三课、配置数据库服务 

??如果您不需要数据库服务可以略过本课,但是后面的课程中相当部分和本课有关,所以即使不打算

配置数据库服务,也应该看看本课的内容。 

??MySQL数据库是目前最受欢迎的免费数据库,由于具有优异的效率和简洁的控制方式,所以被众多的服务商采用。尽管它还有一些不足,例如不支持事务和子选择,但这些缺陷可以通过编程解决。 

??在本手册开始写作的时候,MySQL的最新稳定版本是3.23.32,还没有OpenBSD的port(OpenBSD中的

每一个应用都是一个port),所以我们在手册光盘中包含了它的源代码包,并写作了本课以教导您如何

OpenBSD下面编译并安装MySQL。 

 

第一节、展开MySQL源代码包 

??首先需要让系统可以读取光盘(因为源代码包在光盘里面啊!),方法非常简单,只需执行以下

的命令即可: 

mount /dev/cd0c /mnt 

??然后转入/usr/src目录,把MySQL-3.23.32的源代码包解压 

cd /usr/src 

tar zxvf /mnt/packages/mysql-3.23.32.tar.gz 

??这样,在/usr/src目录下面就会有一个名为mysql-3.23.32的目录,里面就是MySQL-3.23.32的源

代码。为了继续后面的工作,我们需要进入该目录。 

cd mysql-3.23.32 

 

第二节、为MySQL服务程序建立所需的组和用户 

??要正确编译和安装MySQL数据库服务程序,需要建立mysql组和属于mysql组的mysql用户。在以后

运行MySQL数据库服务程序的时候同样需要它们,建立的方法如下: 

groupadd mysql 

useradd –g mysql mysql 

 

第三节、运行配置程序 

??因为要编译源代码必须先获得和系统相关的信息,包括编译器版本,系统支持的线程方式

OpenBSD是一个支持多线程的系统)等。因此需要运行配置程序以获取这些信息。 

./configure --prefix=/usr/local \ 

          --localstatedir=/var/mysql \ 

          --with-low-memory \ 

          --without-bench \ 

          --without-debug 

??我们解释一下配置程序里面各行的含义。./configure就是要执行的配置程序了;--prefix=/usr/local

表示,编译后的MySQL数据库服务程序将会安装到/usr/local/bin目录当中,而库文件会安装到

/usr/local/lib/mysql目录中,头文件将安装到/usr/local/include目录中;--localstatedir=/var/mysql

表示数据库所用到的数据将会安装到/var/mysql目录中(我们在安装OpenBSD的时候提到如果需要,

可以为/var/mysql建立一个独立的分区就是这个原因,这样可以方便管理);--with-low-memory这一

句至关重要,没有了它,基本上就不要指望在您的机器上面通过编译,除非您拥有超过1Gb的内存,这句

会指导编译程序使用交换分区作为虚拟内存;--without-bench和—without-debug告诉编译器和安装脚本

不需要测试程序和调试信息。 

??好了,解释得够清楚吗? 

 

第四节、编译和安装MySQL 

??这个步骤非常简单,只需要执行下面的命令即可,其他得事情由电脑来完成。因为编译的过程非常久,

可以喝杯水歇一歇。 

make 

make install 

make init-db 

 

第五节、测试MySQL 

??对不起,本节的标题有点含糊。这里的测试是指测试MySQL的编译和安装是否正常。为了测试MySQL

是否被正确编译和安装,需要执行以下的命令: 

/usr/local/bin/safe_mysqld > /dev/null & 

/usr/local/bin/mysqladmin –u root password ‘123456’ 

??如果第二条命令无声无息地结束了,那么就证明MySQL可以正常使用了。对了,第二条命令其实是更

改系统管理员的口令啊!那么您知道以后使用MySQL程序的时候需要的口令了吗? 

 

第六节、让MySQL在系统启动的时候自动启动 

??我们需要做一些工作来让MySQL在系统启动的时候自动启动。首先我们修改/etc/rc.conf文件,添加

以下的行: 

mysqld_flags=”” 

??然后,需要修改/etc/rc文件,找到启动named的代码(第171行),添加以下的代码: 

if [ “X${mysqld_flags}” != X”NO” ]; then 

echo ‘starting mysqld’ 

/usr/local/bin/safe_mysqld > /dev/null & 

fi 

??另外,为了让其他需要用到MySQL的程序编译可以顺利通过,就需要在/etc/rc.local文件中添加以

下的代码: 

if [ “X${mysqld_flags}” != X”NO” ]; then 

/sbin/ldconfig –m /usr/local/lib/mysql 

fi 

 

阅读(2276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~