Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试移动`/var/lib/Mysql后无法访问Mysql`_Mysql_Linux_Ubuntu - Fatal编程技术网

尝试移动`/var/lib/Mysql后无法访问Mysql`

尝试移动`/var/lib/Mysql后无法访问Mysql`,mysql,linux,ubuntu,Mysql,Linux,Ubuntu,起初,我试图将数据库移动到一个新目录/media/external\u drive 我在网上遵循了一些指示,比如: 之后,我似乎可以通过sudo-service-mysql-restart重新启动mysql 但是,当我尝试使用mysql-u root-p时,我总是遇到以下错误: ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器。 然后我搜索了sudo find/-name mysqld.sock,没有得

起初,我试图将数据库移动到一个新目录
/media/external\u drive

我在网上遵循了一些指示,比如:

之后,我似乎可以通过
sudo-service-mysql-restart
重新启动mysql

但是,当我尝试使用mysql-u root-p时,我总是遇到以下错误:

ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器。

然后我搜索了
sudo find/-name mysqld.sock
,没有得到任何结果

我还尝试将数据库文件(
mysql
)移回
/var/lib/mysql
,并取消了移动数据库的所有操作。但上述错误还是出现了

我完全迷路了。请帮忙

下面是当前的
my.cnf
。我将
datadir
更改为
/media/external\u drive
,然后又重新更改

 42 user        = mysql
 43 socket      = /var/run/mysqld/mysqld.sock
 44 port        = 3306
 45 basedir     = /usr
 46 datadir     = /var/lib/mysql
 47 tmpdir      = /tmp
 48 skip-external-locking
关于权限:

sudo ls -la /var/lib/mysql
total 1740832
drwx------  6 root   root         4096 2013-03-09 00:19 .
drwxr-xr-x 66 root   root         4096 2013-03-06 21:18 ..
drwx------  2 zhijia zhijia       4096 2013-03-06 16:58 AppSeq
drwx------  2 zhijia zhijia       4096 2013-03-06 17:32 AppSeq1
-rwxrwxrwx  1 zhijia zhijia          0 2013-01-24 15:47 debian-5.1.flag
-rwxrwxrwx  1 zhijia zhijia 1772093440 2013-03-06 19:43 ibdata1
-rwxrwxrwx  1 zhijia zhijia    5242880 2013-03-09 00:13 ib_logfile0
-rwxrwxrwx  1 zhijia zhijia    5242880 2013-03-06 19:35 ib_logfile1
drwx------  2 zhijia zhijia       4096 2013-01-24 15:48 mysql
-rwxrwxrwx  1 zhijia zhijia          6 2013-01-24 15:48 mysql_upgrade_info
drwx------  2 zhijia zhijia       4096 2013-01-24 15:54 phpmyadmin
关于磁盘已满:

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              9833300   7694164   1639632  83% /
none                    379568       296    379272   1% /dev
none                    383792       400    383392   1% /dev/shm
none                    383792        84    383708   1% /var/run
none                    383792         0    383792   0% /var/lock
none                    383792         0    383792   0% /lib/init/rw
none                   9833300   7694164   1639632  83% /var/lib/ureadahead/debugfs
/dev/sdb1            2930263036   1899200 2928363836   1% /media/external_drive
关于
ps-ef | grep mysql

zhijia    7329  1756  0 01:00 pts/0    00:00:00 grep --color=auto mysql
关于'sudo mysqld_safe--user=mysql`

130309 01:03:47 mysqld_safe Logging to syslog.
130309 01:03:47 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
130309 01:03:47 mysqld_safe mysqld from pid file /var/lib/mysql/ubuntu.pid ended
关于
error.log
,以下错误重复多次

^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130309  0:00:13 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to     create it.
130309  0:00:13  InnoDB: Initializing buffer pool, size = 8.0M 
130309  0:00:13  InnoDB: Completed initialization of buffer pool 
130309  0:00:13  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
130309  0:00:43 [Note] Plugin 'FEDERATED' is disabled.
....

这可能是由许多不同的原因造成的。您的MySQL服务器无法实际运行,可能磁盘空间不足,可能是权限问题(我认为最有可能)。请检查此线程以获得一系列可能的修复:

  • 检查您的
    mysql
    服务器是否已在运行

    ps -ef | grep mysql
    
  • 如果是,请使用以下命令。如果没有,请跳到下一步

    mysqladmin [-u ... -p...] shutdown
    
    其中,
    -u
    指定用户名,
    -p
    指定用户密码

  • 使用默认用户名/root用户(对于mysql)在安全模式下启动mysql,以重新创建/恢复
    mysql.sock
    文件

    mysqld_safe --user=mysql &
    

  • 另外,为
    /var/lib/mysql
    及其chilren的用户
    mysql
    提供
    rwx
    权限


    编辑
    通常,
    mysql.sock
    位于
    /var/lib/mysql/mysql.sock
    中,而不是:(

    您的磁盘似乎已满。请尝试,使用以下代码:

    sudo apt-get autoremove
    

    您是否编辑了
    my.cnf
    文件?@DreamEater是的。我在尝试移动数据库时更改了
    my.cnf
    ,但在收到错误后又将其更改了回来。在执行操作之前,让我向您显示文件内容。备份。:dw您的外部驱动器有哪些文件系统?有一次NTFS/FAT出现问题。哦,请发布mysql错误日志。