【导读】本文详细介绍了MySQL在ArchLinux上的安装与启动问题。
在ArchLinux上我们可以很容易的来安装MySQL。我们可以通过下面的命令来安装:
pacman -Sv mysql
只是这样的一个简单命令,我们就可以在我们的系统安装上最新的MySQL数据库了。当然我们还要做一些下面的工作,才可以使得我们的MySQL服务器可以启动起来。
首先我们要添加mysql用户与组,我们可以通过下面的命令来做到:
groupadd mysql (添加mysql组)
useradd -g mysql mysql(添加mysql用户)
然后我们可以用下面的命令来安装MySQL数据库预定义的一些数据表:
mysql_install_db --user=mysql
这时如果我们来启动MySQL服务器会有一些提示信息,我们还要做下面的一些事情:
mkdir /var/lib/mysql
touch /var/lib/mysql/myhost.err
经过这样的操作以后,我们就可以启动MySQL服务器了:
mysqld_safe &
MySQL服务器启动脚本
mysqld_safe--MySQL服务器启动脚本
mysqld_safe是在Unix或是NetWare系统推荐使用来启动MySQL服务器的方法。mysqld_safe添加了许多安全的特征,例如,当发生错误时重新启动服务器,并且可以将运行时的信息写入错误日志文件。
在这里我们要注意的是,为了与旧版本的MySQL保持向后兼容,MySQL的二进制发行版本同时也包含safe_mysqld作为指向mysqld_safe的链接。然而我们并不应依赖于这个启动程序,因为这在将来的版本中会被移除。
在默认的情况下,如果在存在一个可执行的mysqld-max,mysqld_safe
1 在Linux系统上,-Max RPM依赖于mysqld_safe的行为。RPM安装一个名为mysqld-max的可执行程序,这会使得mysqld_safe从此以后自动调用这个可执行程序。
2 如果你安装了一个包含名为mysqld-max服务器的二进制发行版本,然后在以后的某一个时期我们更新到了一个没有Max版本的MySQL, mysqld_safe仍然会试着运行旧的mysqld-max的服务器。如果我们执行了这样的更新,我们应手式移除旧的mysqld-max服务器,并 且保证mysqld_safe运行新的的mysqld服务器。
要覆盖默认的行为并且显示的指明我们要运行的服务器,我们可以为我们的mysqld_safe指定一个-mysqld或是-mysqld-version选项。
mysqld_safe的大多数选项与mysqld的相同。
mysqld命令行选项
在命令行为mysqld_safe指定的所有选项都传递给mysqld。如果我们要使用任何一个为mysqld_safe指定的并且mysqld不支持的,不要在命令行指定他们。相反的,我们可以在一个可选的文件[mysqld_safe]组中列出。
mysqld_safe从选项文件中的[mysqld],[server],[mysqld_safe]部分读出各个选项。为了向后兼容,他还会读出[safe_mysqld]部分,虽然我们要在MySQL5.0的安装中将这一部分重命名为[mysqld_safe].
mysqld_safe支持下列的选项:
--help
显示帮助信息并退出。
--autoclose
在NetWare系统上,mysqld_safe提供一个屏幕显示.当我们御载(关闭)mysqld_safe NLM,在默认的情况下这个屏幕并不会消失.相反,他们提示用户进行输入:
**
如果我们希望NetWare自动关闭这个屏幕,我们可以为mysqld_safe提供--autoclose选项
--basedir=path
指定MySQL的安装目录
--core-file-size=size
mysqld可以创建的core文件的大小。这个选项的值将会传递给ulimit -c.
--datadir=path
数据目录的路径。
--defaults-extra-file=path
在常规选项文件之外要读取的额外的选项文件名。如果要指定,这个选项必须是第一个。
--defaults-file=path
替换常规选项文件要读取的选项文件。如果要指定,这个选项必须是第一个。
--ledir=path
包含mysqld程序的目录路径。使用这个选项来显示指明服务器的位置。
--log-error=path
将错误日志写入指定的文件。
--mysqld=prog_name
我们要启动的服务器程序的名字。如果我们使用MySQL的二进制发行版本,但是使用却是二进制版本以外的数据目录,那么这个选项是必须的。
--mysqld-version=suffix
这 个选项与--mysqld程序相似,但是我们只是为服务器程序指定了前缀。基础名会被假定为mysqld。例如,如果我们使用-mysqld- version=max,mysqld_safe将会启动ledir目录中的mysqld-max程序。如果--mysqld-version的参数为 空,mysqld_safe会使用ledir目录中的mysqld程序。
--nice=priority
使用nice程序来为服务器的运行级别指定一个数值。
--no-defaults
并不读入任何选项文件。如果要指定,这个选项必须是第一个。
--open-files-limit=count
可以打开的文件数量。这个选项值将会传递给ulimit -n。在这里我们要注意的是如果要使用这个选项正常工作,我们需要以root身份来启动mysqld_safe。
--pid-file=path
进程序ID文件的路径。
--port=port_num
当监听TCP/IP连接时要使用的端口号.这个端口号必须是1024或是更高,除非MySQL是以root系统用户运行的.
--skip-character-set-client-handshake
忽略客户端发送的字符设置信息,而使用默认的服务器字符设置.
--socket=path
为本地连接所用的Unix套接字文件.
--timezone=zone
将TZ时区环境变量设置为指定的值.查看我们的操作系统文件可以得到合法时区的详细格式.
--user={user_name | user_id}
以用户名user_name或是数字用户ID user_id的用户来运行mysqld服务器.
当运行mysqld_safe时,必须首先指定--defaults-file或是--defaults-extra-option选项,否则选项将不会被使用.例如,下面的命令就不会使用指定的选项文件:
mysqld_safe --port=port_num --defaults-file=file_name
相反,我们应使用下面的命令:
mysqld_safe --defaults-file=file_name --port=port_num
mysqld_safe这样进行编写就可以保证正常的启动由源码包或是二进制发行版本�沧暗