3

最初に、データベースを新しいディレクトリに移動しようとしました/media/external_drive

次のように、Web上のいくつかの指示に従いました。

http://article.my-addr.com/?show=linux_ubuntu_change_datadir-move_mysql_database_to_other_path

その後、 でmysqlを再起動できるようですsudo service mysql restart

ただし、試してみるとmysql -u root -p、常に次のエラーが発生しました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

その後、検索sudo find / -name mysqld.sockしましたが、結果はありませんでした。

また、データベース ファイル ( mysql) を に戻し/var/lib/mysql、データベースを移動するためのすべての操作を元に戻そうとしました。それでも上記のエラーが出ました。

私は完全に迷っています。助けてください!

以下は現在のものmy.cnfです。に変更datadir/media/external_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.
....
4

3 に答える 3

1

これは、さまざまな理由で発生する可能性があります。MySQL サーバーが実際に実行されていない可能性があります。ディスク容量が不足している可能性があります。パーミッションの問題である可能性があります (おそらく私はそう思います)。可能な修正の束については、このスレッドをチェックしてください: http://ubuntuforums.org/showthread.php?t=804021

于 2013-03-09T05:45:01.800 に答える
0
  1. mysqlサーバーがすでに実行されているかどうかを確認します

    ps -ef | grep mysql
    
  2. そうである場合は、次のコマンドを使用します。次のステップにスキップしない場合。

    mysqladmin [-u ... -p...] shutdown
    

    ここで、-uはユーザー名を-p指定し、ユーザーのパスワードを指定します。

  3. デフォルトのユーザー名/rootユーザー(mysqlの場合)を使用してセーフモードでmysqlを起動し、ファイルを再作成/復元しmysql.sockます。

    mysqld_safe --user=mysql &
    

また、rwxユーザーとその子供mysqlに権限を付与します。/var/lib/mysql


編集

通常、そうではないmysql.sock場所に/var/lib/mysql/mysql.sockあります。:(

于 2013-03-09T05:52:23.993 に答える
0

ディスクがいっぱいのようです。次のコードを使用して、クリーンアップを試してください。

sudo apt-get autoremove
于 2013-03-09T05:54:02.260 に答える