LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 600|回复: 6

MySQL的安装

[复制链接]
发表于 2006-7-18 15:39:05 | 显示全部楼层 |阅读模式
小弟安装的是MYSQL5.0.22版本
执行MYSQL命令时出现下面的错误:
Can't connect to local mysql server through  socket  '/var/lib/mysql/mysql.sock '(2)
这是什么原因啊
我的QQ是:422987597
MSN:xubearxx@hotmal.com
希望各位大虾帮帮忙啊
发表于 2006-7-18 16:48:04 | 显示全部楼层
这个问题以前我也是很头痛,但是用WEBMIN来启动MYSQL时就没有这个问题的
回复 支持 反对

使用道具 举报

发表于 2006-7-18 22:11:55 | 显示全部楼层
你最好把你的安装过程说清楚,你这么说没法具体分析,我只能告诉你出现这样的错误是权限的问题!!!
回复 支持 反对

使用道具 举报

发表于 2006-7-18 22:20:06 | 显示全部楼层
su 为 root
回复 支持 反对

使用道具 举报

发表于 2006-7-19 10:12:45 | 显示全部楼层
权限问题,你好好的看一下任何一篇手动从源码编译安装MySQL的文章就会知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-19 11:17:13 | 显示全部楼层
我源码安装了一次,又用rpm安装了一次.安装完成后,执行mysql命令就出现错误了.
后面我把终端给关了.然后重新打开终端,执行一下MYSQLD_SAFE命令
在执行MYSQL命令就行了
这是怎么搞的啊?
我是以ROOT用户登陆的
回复 支持 反对

使用道具 举报

发表于 2006-7-19 13:07:54 | 显示全部楼层
你看看这篇文章看看
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=77079
多看一些相关的精华贴
部分引用文章内容
1.下载:当前最新最稳定的版本应该是mysql-4.0.16 ,比如我们在/opt目录下建一个临时的安装目录software,把下载下来的mysql-4.0.16.tar.gz,放到/opt/software/目录中;

[root@linuxsir01 root]# mkdir /opt/software


http://www.mysql.com/get/Downloads/M...ihostunit.com/

2.解压、编译和安装:

1]解压
[root@linuxsir01 root]# cd /opt/software

[root@linuxsir01 software]# ls
mysql-4.0.16.tar.gz

[root@linuxsir01 software]#tar zxvf mysql-4.0.16.tar.gz

2]编译和安装:在这个地方值得注意的是,我们要把mysql-4.0.16安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/opt 目录里。所以在这里,我们就要把mysql-4.0.16也安装到/opt/mysql这个目录中;
[root@linuxsir01 software]#cd

[root@linuxsir01 software]# cd mysql-4.0.16
[root@linuxsir01 mysql-4.0.16]#
./configure --prefix=/opt/mysql --with-mysqld-user=beinan --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock

[注]关于configure的选项的一点说明:

--prefix=/opt/mysql 把mysql-4.0.16指定安装到/opt/mysql目录中;
--with-extra-charsets=all 对多语言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/opt/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=beinan 这个是让mysql服务器也能让系统中普通用户beinan也能启动mysql服务器。当然要活学活用了你也可以把beinan换成你的系统中已经存在的普通用户,比如您的系统中已经存在sir这个用户,那就把beinan替换成sir就行了。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;

[root@linuxsir01 mysql-4.0.16]#make

[root@linuxsir01 mysql-4.0.16]#make install

这样就安装完了

3]配制mysql:安装只是第一步,我们还要对mysql进行相应的配制;

一般的情况下mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。

我们安装好mysql后,配制文件应该在/opt/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

进入/opt/mysql这个目录,看一下是不是已经安装好了呢??

[root@linuxsir01 mysql-4.0.16]# cd /opt/mysql/
[root@linuxsir01 mysql]# ls
bin include info lib libexec man mysql-test share sql-bench

我们把/opt/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。
[root@linuxsir01 mysql]# cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf

做了这些工作以后,还得创造MySQL授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了/opt/mysql/bin这个目录中。

[root@linuxsir01 mysql]#/opt/mysql/bin/mysql_install_db

运行mysql_install_db命令过后,我们查看/opt/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,就在在/opt/mysql/var目录中有linuxsir的目录。这回应该明白了吧。

4]启动mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。

mysql服务器启动,应该是/opt/mysql/share/mysql目录中的 mysql.server
启动方法是:
[root@linuxsir01 mysql]# /opt/mysql/share/mysql/mysql.server start

启动过后,我们要查看mysql是否启动了,应该用下面的命令;

[root@linuxsir01 mysql]# ps -aux | grep mysqld

如果出现的仅仅是如下的一行,那mysql是没有启动成功。

root 3345 0.0 0.1 5812 648 pts/2 S 17:41 0:00 grep mysqld

我们如何查看错误信息呢?在哪里查看呢?应该到/opt/mysql/var目录中去找一个带有.err后缀的文件;
[root@linuxsir01 var]# cd /opt/myql/var
[root@linuxsir01 var]# more *.err

可能会出现存在下面的错误信息:

031203 14:49:10 mysqld started
031203 14:49:10 Can't start server : Bind on unix socket: Permission denied
031203 14:49:10 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
031203 14:49:10 Aborting

031203 14:49:10 /opt/mysql/libexec/mysqld: Shutdown Complete

031203 14:49:10 mysqld ended

其实这是权限方面的事,我们把权限设置一下就OK了。我们要设置的权限是/opt/mysql/var的目录。要设置为1777。

方法是:

[root@linuxsir01 mysql]# chmod 755 /opt/mysql/var
另外我们要用beinan这个用户来启动mysqld服务器,当然也得改变一下 /opt/mysql/var的属主

[root@linuxsir01 mysql]# chown -R beinan:beinan /opt/mysql/var

[root@linuxsir01 mysql]#su beinan

然后再重启mysql服务器。

[root@linuxsir01 mysql]$ /opt/mysql/share/mysql/mysql.server start

是不是成功了呢??

[root@linuxsir01 mysql]$ps -aux | grep mysql


5]为了让mysql也能让我们刚才编译是指定的普通用户beinan也能启动mysql服务器。所以我们还要把/opt/mysql目录归属到beinan这个用户手下,在这里,我们要用到chown命令。

[root@linuxsir01 mysql]# chown -R beinan.beinan /opt/mysql/

如果您编译时,比如用的是系统中已经存在的sir用户,应该是下面的办法,我们应该学会活学活用,对不对?

[root@linuxsir01 mysql]# chown -R sir.sir /opt/mysql/

注:文章里把数据库文件直接放在了/opt/mysql/var下,如果安装mysql没有设定数据库文件的位子,就有可能再你的/var目录下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表