MariaDB テーブルメンテナンス

テーブルメンテナンス

・検査
    DB > check table テーブル名;

    [user]$ mysqlcheck  -A  -c  -u  root  -p
・修復
    DB > repair table テーブル名;

    [user]$ mysqlcheck  -A  --auto-repair  -u  root  -p
・最適化
    DB > optimize  table  テーブル名;

    [user]$ mysqlcheck  -A  -o  -u  root  -p
    [user]$ mysqlcheck  -o  -u  ユーザー名  -p  データベース名  テーブル名
・mysqlcheck のオプション
-A全データベース
-c検査
--auto-repair自動修復
-o最適化

mysql.sock

ローカルホスト内での通信に使用。MariaDB サーバーとクライアントプログラムの Unix ソケットが違うと通信できない。

・MariaDB サーバーのソケット確認

[user]$ mysql_config --socket

    /tmp/mysql.sock
・MariaDB サーバーとクライアントのソケット設定

[root]# vim /etc/my.cnf

    [client]
    socket = /tmp/mysql.sock

    [mysqld]
    socket = /tmp/mysql.sock
・Perl の場合
    my $dbh = DBI->connect (
                            'DBI:mysql:DB名;host=localhost;port=/tmp/mysql.sock',
                            'ユーザー名', 'パスワード',
                            {RaiseError => 1,  PrintError => 0,  AutoCommit => 1},
                        );