1. TOP
  2. Webサービス
  3. MySQL
  4. MySQLのバックアップ(mysqldump)で”mysqldump: unknown variable” そのときの解決方法

MySQLのバックアップ(mysqldump)で”mysqldump: unknown variable” そのときの解決方法

|

database

CentOS6.5でMySQL5.5.39を使っているときに、データのバックアップ(mysqldump)をしようと思ったところ、”mysqldump: unknown variable“が表示されて、dumpできませんでした。そのときの解決法をメモしておきます。

mysqldump: unknown variable

$ pwd
/home/username

$ mkdir mysql_lessons
$ cd mysql_lessons

$ mysqldump -u username -p dummy_db > dummy_db_copy.sql

でmysqldumpをすると、

mysqldump: unknown variable 'symbolic-links=0'
mysqldump: unknown variable 'datadir=/var/lib/mysql'

というエラーが出てバックアップができません。実際にはエラーは一つずつしか出ませんが、調べていくうちに、2種類のエラーが出ることが分かりました。

#でコメントアウトをする

そういうときは、MySQLの設定ファイルである、my.cnfをコピーします。その上で、コピー元の設定をファイルを開き、3か所コメントアウトします。

# cp /etc/my.cnf /etc/my.cnf.org
# vi /etc/my.cnf

[mysqld]
character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
ft_min_world_len=1

[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

# datadir=/var/lib/mysql  (←コメントアウトをする)
# socket=/var/lib/mysql/mysql.sock  (←コメントアウトをする)

# Disabling symbolic-links is recommended to prevent assorted security risks
# symbolic-links=0  (←コメントアウト)

# Settings user and group are ignored when systemd is used (fedora >= 15).
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
user=mysql

# Semisynchronous Replication
# http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html
# uncomment next line on MASTER
;plugin-load=rpl_semi_sync_master=semisync_master.so
# uncomment next line on SLAVE
;plugin-load=rpl_semi_sync_slave=semisync_slave.so

# Others options for Semisynchronous Replication
;rpl_semi_sync_master_enabled=1
;rpl_semi_sync_master_timeout=10
;rpl_semi_sync_slave_enabled=1

# http://dev.mysql.com/doc/refman/5.5/en/performance-schema.html
;performance_schema

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

MySQLの再起動

この状態で保存し再起動すると、mysqldumpができるようになりました。

service httpd restart

mysqldump

自分と同じくつまずいてしまった方の参考になれば幸いです。

〔参考サイト〕