(ページの作成:「== データディレクトリの位置を変えたい == * redhat系のパッケージなどでmysqlをインストールすると、多くは /var/lib/mysql がホー...」)
 
19行目: 19行目:
 
  socket=/home/mysql/mysql.sock
 
  socket=/home/mysql/mysql.sock
 
  symbolic-links=0
 
  symbolic-links=0
 
+
 
  [mysqld_safe]
 
  [mysqld_safe]
 
  log-error=/var/log/mysqld.log
 
  log-error=/var/log/mysqld.log
 
  pid-file=/var/run/mysqld/mysqld.pid
 
  pid-file=/var/run/mysqld/mysqld.pid
 
+
 
  [client]
 
  [client]
 
  socket=/home/mysql/mysql.sock
 
  socket=/home/mysql/mysql.sock
31行目: 31行目:
  
 
  /etc/init.d/mysqld start
 
  /etc/init.d/mysqld start
 +
 +
=== おまけ ===
 +
* 今回のターゲットはRailsアプリでした。そのままだと接続できないので、下記のように、 socketを追記しました。
 +
 +
config/database.yml
 +
production:
 +
  adapter: mysql2
 +
  database: oreno_db
 +
  host: oreno_host
 +
  username: ore
 +
  password: oreno_pass
 +
  encoding: utf8
 +
  socket: /home/mysql/mysql.sock

2014年7月14日 (月) 22:29時点における版

データディレクトリの位置を変えたい

  • redhat系のパッケージなどでmysqlをインストールすると、多くは /var/lib/mysql がホームディレクトリになって、DBの実体データもその配下に保存されます。
  • でも、そうじゃないんだ、別のディレクトリ(というかボリューム)に配置したいんだ、ということありますよね。
  • そんなときの手順です。

手順シナリオ

  • ホームディレクトリを /var/lib/mysqlから別のディレクトリに変更する
  • 注意:パッケージ導入後、未起動の状態でしか試していません。

mysqlユーザーのホームディレクトリを変更

sudo usermod --home /home/mysql --move-home mysql

my.cnf を書き換える

  • 元ファイルが必要なら各自バックアップしてください。
cat << 'EOF' > /etc/my.cnf
[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
socket=/home/mysql/mysql.sock
EOF

サービススタート

/etc/init.d/mysqld start

おまけ

  • 今回のターゲットはRailsアプリでした。そのままだと接続できないので、下記のように、 socketを追記しました。

config/database.yml

production:
  adapter: mysql2
  database: oreno_db
  host: oreno_host
  username: ore
  password: oreno_pass
  encoding: utf8
  socket: /home/mysql/mysql.sock

facebook slideshare rubygems github qiita