ラベル mysql の投稿を表示しています。 すべての投稿を表示
ラベル mysql の投稿を表示しています。 すべての投稿を表示

MySQLで他のサーバからの接続を許可する。

例:ユーザーuserが、すべてのマシンからDB: fooにアクセスすることを許可
 
mysql> grant all privileges on foo.* to 'user'@'%';

mysqlのデータベースをメモリ(tmpfs)上に配置する。

/etc/mysql/my.confのdatadirを次のようにtmpfsがマウントされているディレクトリに変更する。
-datadir                = /var/lib/mysql
+datadir                = /dev/shm/mysql
新しいディレクトリにDBを作成するため、以下を実行する。
# mysql_install_db
そして、mysqldを起動する。
/etc/init.d/mysqld start
なお、mysql_install_dbで作成したファイルは、再起動したら消えてしまうので、 /etc/init.d/mysqldの最初に実行するように書いておくとよいかも。

注記

Ubuntuなどでは、apparmorによるアクセス制限がされている場合がある。 その場合、/etc/apparmor.d/usr.sbin.mysqldに次のような記述を追加する。
  /dev/shm/mysql/** rwk,

Systemがクラッシュした後のmysqldの開始失敗を修復する。

Systemがクラッシュして、正常にシャットダウンしなかった場合、 次のように、それ以降のmysqldが立ち上がらなくなることがあります。
# /etc/init.d/mysqld start
Another MySQL daemon already running with the same unix socket.
mysqld を起動中:                                           [失敗]
このような症状の原因候補のひとつとして、mysql.sockが、残ったままになっていることが挙げられます。
# ls -l /var/lib/mysql/mysql.sock 
srwxrwxrwx 1 mysql mysql 0  2月 21 10:34 2014 /var/lib/mysql/mysql.sock
上記のようにファイルが残っている場合、次のように削除することで、正常に起動できるようになります。
# rm -f /var/lib/mysql/mysql.sock