MariaDB テーブルメンテナンス

テーブルメンテナンス

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

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

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

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

mysql.sock

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

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

[user]$ mariadb-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},
                        );