mysqldump スクリプトが失敗し続けます。my.cnf に先行グループがないと表示されます。

mysqldump スクリプトが失敗し続けます。my.cnf に先行グループがないと表示されます。

そのため、mysqldump は次のエラーをスローします。

mysqldump: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 22!
mysqldump: [ERROR] Fatal error in defaults handling. Program aborted!

私の my.cnf は非常に基本的なものです:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html 
#

# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
event-scheduler=ENABLED

補足質問: セキュリティを強化するために、設定ファイルに何かを追加する必要がありますか? また、できれば phpmyadmin を使用して、テーブルを何らかの方法で圧縮できますか?

答え1

これが表示される理由は 2 つ考えられます。

理由1

ファイルにエンコーディングmy.cnfがありません。コマンドを使用して、このエンコーディングにないものがないかUTF-8確認できます。od

理由2

ファイルの先頭にディレクティブがありません[mysqld]。そのオプションはないようですから、単に追加してもう一度試してください。

補足の質問ですが、セキュリティを強化するために設定ファイルに何かを追加する必要がありますか?

通常、MySQL を listen のみで実行することは127.0.0.1、ローカル マシンからの接続のみを許可するため、良い方法です。残りのセキュリティ オプションは、データベース、テーブルなどに付与する権限に基づきます。

また、できれば phpmyadmin を使用して、テーブルを何らかの方法で圧縮することはできますか?

InnoDBは圧縮が可能です。参考マニュアル詳細については。

関連情報