MySQLが起動できなくなった件(MacOSX10.6)
ターミナルから
mysql -u root -p
で、MySQLを起動しようとすると
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
っていうエラーが。
このエラーをもとにぐぐってみて、(こことかを参考に)
特に起動できなくなった直前にmy.cnfとかいじった覚えないし、ソケットファイル格納ディレクトリのパーミンションも問題なさそう...
いろいろ試行錯誤した結果、よくわからんので再インスコ。。。
次にここを見てみた。
とりあえずrootのパスワード設定
mysqladmin -u root password 新しいパスワード
MySQLの生存確認
mysqld is alive
結果
110308 17:45:09 [Warning] Can't create test file /usr/local/mysql-5.5.9-osx10.6-x86_64/data/MacBook-Pro.lower-test 110308 17:45:09 [Warning] Can't create test file /usr/local/mysql-5.5.9-osx10.6-x86_64/data/MacBook-Pro.lower-test 110308 17:45:09 [Note] Plugin 'FEDERATED' is disabled. mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 110308 17:45:09 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 110308 17:45:09 InnoDB: The InnoDB memory heap is disabled 110308 17:45:09 InnoDB: Mutexes and rw_locks use GCC atomic builtins 110308 17:45:09 InnoDB: Compressed tables use zlib 1.2.3 110308 17:45:09 InnoDB: Initializing buffer pool, size = 128.0M 110308 17:45:09 InnoDB: Completed initialization of buffer pool 110308 17:45:09 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: 'open'. InnoDB: Cannot continue operation.
ってでた
なんかplugin.frmっていうファイルが見つかりません的なことが言われてるけど...
my.cnfを/etcにコピーする
初期設定ではmy.cnfというファイル自体は存在しないので、/usr/loacl/mysql~~/support-files/my-small.cnfをコピーする
cp /usr/loacl/mysql~~/support-files/my-small.cnf /etc/my.cnf
mysql.sockがないって怒られる
依然mysql.sockがないって怒られていることには変わりはない。
しかし、どうやらMySQLをセーフモードで起動することによってmysql.sockが作成されるらしい。
セーフモードで起動
sudo mysqld_safe
これは通った。が。
MacBook-Pro:~ muramatsut$ sudo mysqld_safe Password: 110308 18:12:46 mysqld_safe Logging to '/usr/local/mysql/data/MacBook-Pro.local.err'. 110308 18:12:46 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
このままなにも起きず。。。
別のターミナルウインドウを開いて
mysql -u root -p
で、起動できました!
mysqld_safeすると /tmp/mysql.sockが生成されていることも確認。
ひとまずまた動かすことができました。。。