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)である必要があります