FreeBSD 15.1 RELEASE - MySQL - 設定


クラウディア 


1. 概要
2. コピー
3. プロンプトを変更する
4. 文字コードを設定
5. ログ

1. 概要

 コンフィグレーションファイルは、「/usr/local/etc/mysql/my.cnf」です。

2. コピー

 「MySQL 8.0」では、コンフィグレーションファイルが用意されていましたが。  「MySQL 8.4」では。

/usr/local/etc/mysql/my.cnf.sample
 しか用意されていません。  コピーして編集します。  「root」ユーザ権限で。

cp /usr/local/etc/mysql/my.cnf.sample /usr/local/etc/mysql/my.cnf
vi /usr/local/etc/mysql/my.cnf
 デフォルトは以下のように書かれています。
[client]
port                            = 3306
socket                          = /tmp/mysql.sock

[mysql]
prompt                          = \u@\h [\d]>\_
no_auto_rehash

[mysqld]
user                            = mysql
port                            = 3306
socket                          = /tmp/mysql.sock
bind-address                    = 127.0.0.1
basedir                         = /usr/local
datadir                         = /var/db/mysql
tmpdir                          = /var/db/mysql_tmpdir
replica-load-tmpdir             = /var/db/mysql_tmpdir
secure-file-priv                = /var/db/mysql_secure
log-bin                         = mysql-bin
log-output                      = TABLE
relay-log-recovery              = 1
slow-query-log                  = 1
server-id                       = 1
sync_binlog                     = 1
sync_relay_log                  = 1
binlog_cache_size               = 16M
binlog_expire_logs_seconds      = 2592000
default_password_lifetime       = 0
enforce-gtid-consistency        = 1
gtid-mode                       = ON
safe-user-create                = 1
lower_case_table_names          = 1
explicit-defaults-for-timestamp = 1
myisam-recover-options          = BACKUP,FORCE
open_files_limit                = 32768
table_open_cache                = 16384
table_definition_cache          = 8192
net_retry_count                 = 16384
key_buffer_size                 = 256M
max_allowed_packet              = 64M
long_query_time                 = 0.5
innodb_buffer_pool_size         = 1G
innodb_data_home_dir            = /var/db/mysql
innodb_log_group_home_dir       = /var/db/mysql
innodb_data_file_path           = ibdata1:128M:autoextend
innodb_temp_data_file_path      = ibtmp1:128M:autoextend
innodb_flush_method             = O_DIRECT
innodb_redo_log_capacity        = 512M
innodb_log_buffer_size          = 16M
innodb_write_io_threads         = 8
innodb_read_io_threads          = 8
innodb_autoinc_lock_mode        = 2

[mysqldump]
max_allowed_packet              = 256M
quote_names
quick

 16~18行で定義しているディレクトリは、存在するのですが、所有権が「root」になっているためか、このままだと起動できない。

chown -R mysql:mysql /var/db/mysql_secure /var/db/mysql_tmpdir
 しかし、サンプルのままだと、起動に失敗するのです。  なんだかエラーになって止まってしまうところはコメントアウトします。  32、41~52行は、コメントアウトするのです。  コメントアウトは、行の先頭に「#」をいれます。

3. プロンプトを変更する

 プロンプトが。

ユーザ名@localhost [(none)]>
 となってて、わたしは前のままがいいのです。

prompt                          = \u@\h [\d]>\_
 の行を削除するなり、コメントアウトするなりすれば。

mysql>
 に戻ります。

4. 文字コードを設定

 日本語を扱うのであれば、今はぜひ、「UTF-8」を使用するべきであるし。  「UTF-8」を使用するのであれば。  「root」ユーザ権限で。

vi /usr/local/etc/mysql/my.cnf
 必ず文字コードの設定を書いておきましょう。

[mysqld]
 のセクション内に、下記の1行を追加します。

character-set-server            = utf8
 変更した場合は

service mysql-server restart

5. ログ

 「MySQL」のログは、デフォルトでは、下記のものが出力されるだけですが・・・。

/var/db/mysql/ns-slow.log
 「/var/log」の下にディレクトリを作成して出力させます。

vi /usr/local/etc/mysql/my.cnf
 [mysqld] セクションに下記を記述します。

# エラーログ
log_error="/var/log/mysql/mysql-err.log"
#log_warnings=1

# クエリーログ
general_log=1
general_log_file="/var/log/mysql/mysql-sql.log"
log_output=FILE

# スロークエリーログ
slow_query_log=1
slow_query_log_file="/var/log/mysql/mysql-slow.log"
log_queries_not_using_indexes
log_slow_admin_statements
 ディレクトリを作成して、パーミッションを設定。

mkdir -pv /var/log/mysql

chown -R mysql:mysql /var/log/mysql
 「MySQL」サーバを再起動。

service mysql-server restart
 これで、下記のログが出力されます。

/var/log/mysql/mysql-err.log
/var/log/mysql/mysql-slow.log
/var/log/mysql/mysql-sql.log

audiobook.jp
アフィリエイトのアクセストレード
それがだいじWi-Fi
葬送のフリーレン Prime Video
earthcar(アースカー)
U-NEXT
損保との違い
【usus ウズウズ】
JETBOY
健康サポート特集
EaseUS
サウンドハウス
薬屋の独り言
Amazonギフトカード
ハイスピードプラン
ネットオークションの相場、統計、価格比較といえばオークファン
5G CONNECT
ベルリッツ
TikTok Shop 【リピート用プログラム】