Chinaunix首页 | 论坛 | 博客
  • 博客访问: 575476
  • 博文数量: 836
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 4995
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 16:55
文章分类

全部博文(836)

文章存档

2008年(836)

我的朋友

分类: LINUX

2008-08-22 17:37:44

 
一直青睐从压缩包安装MySQL,在Windows下很简单.zip直接解压就好(Windows的权限管理实在是弱--||)。但是FC7下通过.tar.gz解压却启动不了,无奈之下从MySQL官方文档入手,开始了安装历程:

一、前驱准备
1.为mysqld增加一个登录用户和组:

shell>groupaddmysql

shell>useradd-gmysqlmysql

2.进入安装目录,以/usr/local为例,解压.tar.gz二进制分发版。

shell>gunzip
shell>ln-sfull-path-to-mysql-VERSION-OSmysql

或者:

shell>tarzxvf/path/to/mysql-VERSION-OS.tar.gz

3.在mysql目录下,你会在mysql目录下发现几个文件和子目录,对安装目的最重要的是“bin”和“scripts”子目录。

·bin

这个目录包含客户端程序和服务器,你应该把这个目录的完整路径加到PATH环境变量,以便shell能正确的找到MySQL程序。请参见附录F:环境变量。

·scripts

这个目录包含mysql_install_db脚本,用来初始化mysql数据库的授权表,其中贮存了服务器访问允许。

Note:如果还没有安装MySQL,必须创建MySQL授权表:
shell>scripts/mysql_install_db--user=mysql
4.将程序二进制的所有权改为root,数据目录的所有权改为运行mysqld的用户。如果位于安装目录(/usr/local/mysql)下,命令应为:

shell>chown-Rroot.

shell>chown-Rmysqldata

shell>chgrp-Rmysql.
第一个命令将文件的所有属性改为root用户。第二个命令将数据目录的所有属性改为mysql用户。第三个命令将组属性改为mysql组。

5.到这里,按照MySQL的文档,服务器便可以启动:

shell>bin/mysqld_safe--user=mysql&
但是,在FC7下,问题便出现了,提示如下信息,无法启动服务器。
-------------------------------------------------------------------------
nohup:ignoringinputandredirectingstderrtostdout
Startingmysqlddaemonwithdatabasesfrom/var/lib/mysql
STOPPINGserverfrompidfile/var/run/mysqld/mysqld.pid
07103002:28:14mysqldended
------------------------------------------------------------------------------
问题出现最初没有查看日志(以后要养成看日志的习惯!!)
---------------------------------------------------------------------
07103014:23:56mysqldstarted
nohup:ignoringinput
07103014:23:56InnoDB:Operatingsystemerrornumber13inafileoperation.
InnoDB:Theerrormeansmysqlddoesnothavetheaccessrightsto
InnoDB:thedirectory.
InnoDB:Filename./ibdata1
InnoDB:Fileoperationcall:''create''.
InnoDB:Cannotcontinueoperation.
07103014:23:56mysqldended
---------------------------------------------------------------------------
通过查看/var/log/mysqld.log基本确定是权限的问题,修改/var/lib/mysql/下的这几个文件权限:
ibdata1ib_logfile0ib_logfile1
shell>chmod766/var/lib/mysql/ib*

mysqlclient默认使用/tmp/mysql.sock启动socket,但是/tmp/mysql.sock不存在,mysql.sock在/var/lib/mysql/mysql.sock,所以或者创建链接指向实际mysql.sock,或者更改mysqlclient的默认设置。
1.在/tmp下创建指向/var/lib/mysql/mysql.sock的链接。
ln-s/var/lib/mysql/mysql.sock/tmp/mysql.sock
2.更好mysqlclient配置(/etc/my.cnf)
编辑/etc/my.cnf,加入client配置。
[client]
socket=/var/lib/mysql/mysql.sock

阅读(178) | 评论(0) | 转发(0) |
0

上一篇:SUSE Linux编码设置为GBK

下一篇:Fedora 7简介

给主人留下些什么吧!~~