MySQLサーバー5.5をUbuntu 12.04にインストールしました。MySQLサーバーを別のsockファイルで起動しようとしています。デフォルトでは、MySQLは/var/run/mysqld/mysqld.sockで実行されます。
/var/run/mysqld/mysqld1.sockで同じサーバーを実行しようとしています。
このため、次の変更を加えました。
- /etc/mysql/my.cnfへの変更
[クライアント] ポート= 3306 ソケット= /var/run/mysqld/mysqld1.sock [mysqld_safe] ソケット= /var/run/mysqld/mysqld1.sock nice = 0 [mysqld] ユーザー= mysql pid-file = /var/run/mysqld/mysqld.pid **ソケット= /var/run/mysqld/mysqld1.sock** ポート= 3306 basedir = / usr datadir = / var / lib / mysql tmpdir = / tmp lc-messages-dir = / usr / share / mysql
/etc/apparmor.d/usr/sbin.mysqldにも次の行を追加しました
/var/run/mysqld/mysqld1.sock w、
/var/run/mysqld/mysqld[1-9].sock w、
また、ディレクトリ/ var / run / mysqldの所有権をmysqlユーザーに変更しました。
ls -lA / var / run / | grep mysqld
drwxrwxrwx 2 mysql mysql 40 Dec 31 17:24 mysqld
しかし、MySQLサーバーを起動しようとすると、次のエラーが表示されます(rootユーザーとして)
$ mysqld --user = mysql --verbose 121231 18:40:56 [注意]プラグイン 'FEDERATED'が無効になっています。 121231 18:40:56 InnoDB:InnoDBメモリヒープが無効になっています 121231 18:40:56 InnoDB:ミューテックスとrw_locksはGCCアトミックビルトインを使用します 121231 18:40:56 InnoDB:圧縮テーブルはzlib 1.2.3.4を使用します 121231 18:40:56 InnoDB:バッファプールの初期化、サイズ= 128.0M 121231 18:40:56 InnoDB:バッファプールの初期化が完了しました 121231 18:40:56 InnoDB:サポートされている最高のファイル形式はバラクーダです。 121231 18:40:57 InnoDB:バックグラウンドスレッドの開始を待機しています 121231 18:40:58 InnoDB:1.1.8が開始されました。ログシーケンス番号1595685 121231 18:40:58 [注]サーバーホスト名(バインドアドレス): '127.0.0.1'; ポート:3306 121231 18:40:58 [注]-「127.0.0.1」は「127.0.0.1」に解決されます。 121231 18:40:58 [注]サーバーソケットはIP: '127.0.0.1'で作成されました。 ** `121231 18:40:58 [エラー]サーバーを起動できません:UNIXソケットにバインド:権限が拒否されました` ** 121231 18:40:58 [エラー]ソケットで別のmysqldサーバーがすでに実行されていますか? /var/run/mysqld/mysqld1.sock? 121231 18:40:58 [エラー]中止中** 121231 18:40:58 InnoDB:シャットダウンを開始しています... 121231 18:40:58 InnoDB:シャットダウンが完了しました。ログシーケンス番号1595685 121231 18:40:58 [注] mysqld:シャットダウンが完了しました
デフォルトのソケットファイルでサーバーを起動すると、サーバーを起動できます。私はこの問題についてググってみましたが、それが権限の問題であると示唆する解決策を見つけました。ただし、権限は問題ないようです。AppArmorが原因である可能性があることを示唆する人もいますが、私も確認しました-上にスニペットが貼り付けられています。
誰かがいくつかの手がかりを提供できますか?
[編集]
に次の出力が表示され/var/log/syslog
ます。
Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 [注意]プラグイン 'FEDERATED'が無効になっています。 Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:InnoDBメモリヒープが無効 Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:ミューテックスとrw_locksはGCCアトミックビルトインを使用します Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:圧縮テーブルはzlib 1.2.3.4を使用 1月2日12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:初期化バッファープール、サイズ= 128.0M Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:バッファープールの初期化が完了しました Jan 2 12:09:34 praveshp-lt mysqld:130102 12:09:34 InnoDB:サポートされている最も高いファイル形式はバラクーダです。 Jan 2 12:09:35 praveshp-lt mysqld:130102 12:09:35 InnoDB:バックグラウンドスレッドの開始を待機しています Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 InnoDB:1.1.8が開始されました。ログシーケンス番号1595685 Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 [注]サーバーホスト名(バインドアドレス): '127.0.0.1'; ポート:3307 1月2日12:09:36 praveshp-lt mysqld:130102 12:09:36 [注]-「127.0.0.1」は「127.0.0.1」に解決されます。 Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 [注]サーバーソケットがIPに作成されました: '127.0.0.1'。 1月2日12:09:36 praveshp-lt mysqld:130102 12:09:36 [エラー]サーバーを起動できません:UNIXソケットにバインド:権限が拒否されました Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 [エラー]ソケット/var/run/mysqld/mysqld1.sockで別のmysqldサーバーがすでに実行されていますか? 1月2日12:09:36 praveshp-lt mysqld:130102 12:09:36 [エラー]中止 1月2日12:09:36 praveshp-lt mysqld: Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 InnoDB:シャットダウンを開始しています... Jan 2 12:09:36 praveshp-lt kernel:[7060.098580] type = 1400 audit(1357108776.036:33):apparmor = "DENIED" operation = "mknod" parent = 6702 profile = "/ usr / sbin / mysqld" name = "/run/mysqld/mysqld1.sock" pid = 7039 comm = "mysqld" requested_mask = "c" denied_mask = "c" fsuid = 116 ouid = 116 Jan 2 12:09:36 praveshp-lt mysqld:130102 12:09:36 InnoDB:シャットダウンが完了しました。ログシーケンス番号1595685 1月2日12:09:36 praveshp-lt mysqld:130102 12:09:36 [注] / usr / sbin / mysqld:シャットダウン完了
許可が拒否されたようですが、私は適切な許可を設定したようです。
/etc/apparmor.d/usr.sbin.mysqld
ここに古いものと新しいバージョンの間の比較があります:bugs.launchpad.net/ubuntu/+source/mysql-5.1/+bug/876268/...
/usr/local/mysql
およびの権限を確認し/tmp
ます。最小で775である必要があります。2./var/lib/
フォルダーの下のmysqlデータベースディレクトリのアクセス許可はmysql:root
(chown mysql:root mysql
)である必要があります