我的mysql安装在/usr/local/mysql中
我在系统的启动文件中加入了/usr/local/mysql/bin/mysqld_safe --user=root&我用/usr/local/mysql/bin/mysql -u root -p 连接,输入密码后出现错误
ERROR 2002: Can't connect to local MySQL server through socket 
'/tmp/mysql.sock' (2)上网看了下,
我输入
/usr/local/mysql/bin/mysqld_safe --user=root&
出现错误
STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid
        mysqld ended
不知道是什么错误,我找了下我的目录下没有localhost.localdomain.pid这个文件
谢谢了,感激不尽

解决方案 »

  1.   

    先不加参数以默认方式起mysqld试试#service mysqld start 
      

  2.   

    #service mysqld start 
    mysqld: unrecognized servive
      

  3.   

    [root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &这样能否连接MYSQL
      

  4.   

    [root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables & 
    出现错误 
    STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 
            mysqld ended 请问我的问题是还没有启动mysql服务吗?还是启动了连接不上?
      

  5.   

    服务没有配置。那直接试一下,不加&后台执行,看看信息都是些什么?#/usr/bin/mysqld_safe --defaults-file=/etc/my.cnf同时检查一下你的/etc/my.cnf 内容
    
      

  6.   

    #/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my.cnf 
    还是出现错误 
    STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 
            mysqld ended /etc/my.cnf 内容 中应该检查哪个呢?
    [client]
    port = 3306
    socket =/tmp/mysql.sock[mysqld]
    port = 3306
    socket = /tmp/mysql.sock
      

  7.   

    1.看mysqld是否启用,用top命令查看是否有mysqld进程
    2.看/tmp/mysql.sock是否已经存在
    3.权限问题
    添加专用的mysql组和mysql用户
    Groupadd mysql
    Useradd mysql –g mysql
    Chown –R mysql:mysql /usr/local/mysql4
    Chown –R mysql:mysql /var/db/mysql4
      

  8.   

    2009-04-24 16:06:098楼 得分:0 
    能否贴了完整的错误信息?  
    Starting mysqld deamon with databases from /usr/local/mysql/var
    STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 
     090402 15:54:52     mysqld ended 
      

  9.   


    1.看mysqld是否启用,用top命令查看是否有mysqld进程 
    2.看/tmp/mysql.sock是否已经存在 
    3.权限问题 
    添加专用的mysql组和mysql用户 
    Groupadd mysql 
    Useradd mysql –g mysql 
    Chown –R mysql:mysql /usr/local/mysql4 
    Chown –R mysql:mysql /var/db/mysql4  
     
    1.没有看到这个进程.
    2.不存在
    3.在用户管理器中已存在组mysql,用户mysql
    组群:mysql 
    组群ID:500
    组群成员:mysql用户名:mysql
    用户ID:500
    主要组群:mysql
    登陆Shell:/bin/bash
    主目录:/home/mysql
      

  10.   

    你现在是用root进行操作的吗?还是用mysql账号进行?
      

  11.   

    /usr/local/mysql/var 目录的权限是?http://bbs.chinaunix.net/viewthread.php?tid=848184 看下这个帖,希望有帮助
      

  12.   


    使用 ps -ef | grep mysqld 可以查看mysql是否有启动?你这种情况要看看在执行这个语句之前,是否已经存在mysqld进程
      

  13.   

    我用的是root帐户使用 ps -ef | grep mysqld 后的结果是
    root 3737 3606 0 09:55 pts/1 00:00:00 grep mysql
    进程中没有mysql我执行/usr/local/mysql/bin/mysqld_safe --user=root& 
    后出现的错误是
    Starting mysqld deamon with databases from /usr/local/mysql/var 
    STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 
    090402 15:54:52    mysqld ended 我查找日志文件,里面的信息是mysqld started
    innoDB:Startrd;log sequence number 0 43685
    [Note] Recovering after a crash using mysql-bin
    [Note] Starting crash recovery...
    [Note] Crash recovery finished
    [ERROE] Fatal error: Can't open and lock privilege tables:Can't find file:"host"(erno:2)
    mysqld ended因为是第一次用,所以很不熟悉,谢谢各位了
      

  14.   

    [root@testbox-04 /]# /usr/bin/mysql_install_db 安装一下系统表。
      

  15.   

    另外你启动的时候好象也没指定配置option 文件。# /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf
      

  16.   

    [root@testbox-04 /]# /usr/local/mysql/bin/mysql_install_db 
    后出现一大堆信息
    然后运行# /bin/sh /usr//local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
    出现错误
    Starting mysqld deamon with databases from /usr/local/mysql/var 
    STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 查找日志,错误信息是
    /usr/local/mysql/libexec/mysqld:File './mysql-bin.index' not found(errcode 13)
    [Error]Aborting
    [Note] usr/local/mysql/libexec/mysqld:Shutdown complete
      

  17.   

    感觉上是你的权限有问题。 加上 --user=root试试# /bin/sh /usr//local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=root
      

  18.   

    加上-user=root后
    也有错误,日志中的是
    innoDB:Startrd;log sequence number 0 43685 
    [ERROE] Fatal error: Can't open and lock privilege tables:Can't find file:"host"(erno:2) 
    mysqld ended 我重新打了遍
     /usr/bin/mysql_install_db
    也是这样的错误
      

  19.   

    看一下你 /etc/my.cnf的内容。然后看data是在哪个目录下[root@ss ~]# cat /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    然后看你在这个目录下的权限[root@xx mysql]# ll /var/lib/mysql
    total 20552
    -rw-rw----  1 mysql mysql  5242880 Apr 10 05:29 ib_logfile0
    -rw-rw----  1 mysql mysql  5242880 Apr 10 05:23 ib_logfile1
    -rw-rw----  1 mysql mysql 10485760 Apr 10 05:29 ibdata1
    drwx------  2 mysql mysql     4096 Apr 10 05:23 mysql
    srwxrwxrwx  1 mysql mysql        0 Apr 10 05:23 mysql.sock
    drwx------  2 mysql mysql     4096 Apr 10 05:31 test然后再看host表权限
    [root@xxx mysql]# ll mysql/host*
    -rw-rw----  1 mysql mysql    0 Apr 10 05:23 mysql/host.MYD
    -rw-rw----  1 mysql mysql 1024 Apr 10 05:23 mysql/host.MYI
    -rw-rw----  1 mysql mysql 9148 Apr 10 05:23 mysql/host.frm
      

  20.   

    /usr/bin/mysql_install_db  --user=mysql
    试试
      

  21.   

    # cat /etc/my.cnf 
    后在[mysqld]下面没有datadir
    [mysqld]
    port       =3306
    socket     =/tmp/mysql.sock
    skip-locking
    下面就是一些buffer的大小您说的
    [root@xx mysql]# ll /var/lib/mysql 
    这个目录没有/var/lib下没有mysql看host表权限
    这个就直接打 ll mysql/host* 吗?
    我直接打出现的是 mysql/host*不是目录非常感谢您
      

  22.   

    原来你的datadir根本就没定义。这样,你在整个系统中 find / -name "host.frm" -print 找一下这几个文件。-rw-rw----  1 mysql mysql  0 Apr 10 05:23 mysql/host.MYD
    -rw-rw----  1 mysql mysql 1024 Apr 10 05:23 mysql/host.MYI
    -rw-rw----  1 mysql mysql 9148 Apr 10 05:23 mysql/host.frm如果没有,建议你重新MySQL,如果找到了,则反相应的参数放到你的 /etc/my.cnf 中
    [root@dssd mysql]# find / -name "host.frm" -print
    /var/lib/mysql/mysql/host.frm
    datadir=/var/lib/mysql
      

  23.   

    /usr/bin/mysql_install_db  --user=mysql 
    试试后一样是原来的错误
      

  24.   

    [root@localhost bin]# find / -name "host.frm" -print 
    find:/proc/3296/fd: 没有那个文件或目录
    /root/.Trash/var/mysql/host.frm
    /root/Projects/Mypro/src/mysql/host.frm我的结果就上面这样,按照您的意思是我最好重新装下mysql是吧.以前别人用过,没什么问题,一段时间没用了,就出现了这个问题,可能是什么程序不小心执行错误命令了呢?还是开始配置mysql的时候就没有配置正确呢?
      

  25.   

    先查看一下vi /usr/local/mysql/var/localhost.localdomain.err然后 ps -A|grep mysql  看看有没有进程,有的话kill -9 92500
    kill -9 92553然后 /etc/init.d/mysqld start没有的话重启装一次
      

  26.   

    直接  whereis host.frm  没有的话,肯定是装的时候没有装好了,建议重装 ,麻烦
      

  27.   

    whereis host.frm  
    host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz
    这样就表示没有了,得重装了是吧
      

  28.   

    不是..这个

    然后 ps -A|grep mysql  看看有没有进程,有的话kill -9 92500
    kill -9 92553然后 /etc/init.d/mysqld start
    是什么情况??
      

  29.   

     ps -A|grep mysql  
    什么都没有
    /etc/init.d/mysqld start 
    显示的是:没有那个文件或目录
      

  30.   

    添加启动项有没有添加成功?mysql -u root什么情况??
      

  31.   

    mysql -u root 
    的结果在1楼里有说
    ACMAIN_CHM 
    我接下来怎么做呢?
      

  32.   

    列一下这两个目录的内容。和我上面列出的内容比较一下/root/.Trash/var/mysql/
    /root/Projects/Mypro/src/mysql/估计应该是  /root/.Trash/var 估计什么进和把这个目录删除了。如果是的话,然后把这个目录移到合适的目录下,再在斧my,cnf 中加上个这目录datadir. 启一下试试。[root@xxxx ~]# ll /var/lib/mysql/mysql
    total 652
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 columns_priv.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 columns_priv.MYI
    -rw-rw----  1 mysql mysql   8820 Apr 10 05:23 columns_priv.frm
    -rw-rw----  1 mysql mysql    866 Apr 10 05:23 db.MYD
    -rw-rw----  1 mysql mysql   4096 Apr 10 05:23 db.MYI
    -rw-rw----  1 mysql mysql   9178 Apr 10 05:23 db.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 func.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 func.MYI
    -rw-rw----  1 mysql mysql   8665 Apr 10 05:23 func.frm
    -rw-rw----  1 mysql mysql    864 Apr 10 05:23 help_category.MYD
    -rw-rw----  1 mysql mysql   3072 Apr 10 05:23 help_category.MYI
    -rw-rw----  1 mysql mysql   8700 Apr 10 05:23 help_category.frm
    -rw-rw----  1 mysql mysql   7320 Apr 10 05:23 help_keyword.MYD
    -rw-rw----  1 mysql mysql  13312 Apr 10 05:23 help_keyword.MYI
    -rw-rw----  1 mysql mysql   8612 Apr 10 05:23 help_keyword.frm
    -rw-rw----  1 mysql mysql   5103 Apr 10 05:23 help_relation.MYD
    -rw-rw----  1 mysql mysql   9216 Apr 10 05:23 help_relation.MYI
    -rw-rw----  1 mysql mysql   8630 Apr 10 05:23 help_relation.frm
    -rw-rw----  1 mysql mysql 169728 Apr 10 05:23 help_topic.MYD
    -rw-rw----  1 mysql mysql  15360 Apr 10 05:23 help_topic.MYI
    -rw-rw----  1 mysql mysql   8770 Apr 10 05:23 help_topic.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 host.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 host.MYI
    -rw-rw----  1 mysql mysql   9148 Apr 10 05:23 host.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 tables_priv.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 tables_priv.MYI
    -rw-rw----  1 mysql mysql   8925 Apr 10 05:23 tables_priv.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 time_zone.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 time_zone.MYI
    -rw-rw----  1 mysql mysql   8636 Apr 10 05:23 time_zone.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 time_zone_leap_second.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 time_zone_leap_second.MYI
    -rw-rw----  1 mysql mysql   8624 Apr 10 05:23 time_zone_leap_second.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 time_zone_name.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 time_zone_name.MYI
    -rw-rw----  1 mysql mysql   8606 Apr 10 05:23 time_zone_name.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 time_zone_transition.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 time_zone_transition.MYI
    -rw-rw----  1 mysql mysql   8686 Apr 10 05:23 time_zone_transition.frm
    -rw-rw----  1 mysql mysql      0 Apr 10 05:23 time_zone_transition_type.MYD
    -rw-rw----  1 mysql mysql   1024 Apr 10 05:23 time_zone_transition_type.MYI
    -rw-rw----  1 mysql mysql   8748 Apr 10 05:23 time_zone_transition_type.frm
    -rw-rw----  1 mysql mysql    168 Apr 10 05:23 user.MYD
    -rw-rw----  1 mysql mysql   2048 Apr 10 05:23 user.MYI
    -rw-rw----  1 mysql mysql   9992 Apr 10 05:23 user.frm
    You have new mail in /var/spool/mail/root
    [root@xxxx ~]#[root@xxxx ~]# ll /var/lib/mysql
    total 20552
    -rw-rw----  1 mysql mysql  5242880 Apr 10 05:29 ib_logfile0
    -rw-rw----  1 mysql mysql  5242880 Apr 10 05:23 ib_logfile1
    -rw-rw----  1 mysql mysql 10485760 Apr 10 05:29 ibdata1
    drwx------  2 mysql mysql     4096 Apr 10 05:23 mysql
    srwxrwxrwx  1 mysql mysql        0 Apr 10 05:23 mysql.sock
    drwx------  2 mysql mysql     4096 Apr 10 05:31 test
    [root@xxxx ~]#
      

  33.   

    我的mysql安装在/usr/local/mysql中
    设置环境变量/usr/local/mysql/bin,下面的先不要加,我就是加上下面的错误.
    我在系统的启动文件中加入了/usr/local/mysql/bin/mysqld_safe --user=root& 
      

  34.   

    ll /root/.Trash/var/mysql/host.frm 
    -rw-rw---- 1 mysql mysql
    ll /root/Projects/Mypro/src/mysql/host.frm 
    -rwxr-xr-x 1 root root
      

  35.   

    好象启动了
    ps -A|grep mysql  的结果是
    4863 pts/3 00:00:00 mysqld_safe
    4890 pts/3 00:00:00 mysqls
    这个说明启动了吗?
    连接数据库的时候/usr/local/mysql/bin/mysql -u root 这样是不需要密码的?真是非常感谢
      

  36.   

    不错,谢谢了,我先执行ps -ef | grep mysqld,将所有mysqld相关的进程都kill之后,再在
    /usr/local/mysql/bin下执行./mysqld_safe --user=root,启动之后,就自动在/tmp下生成了mysql.sock