MariaDBのインストール Ver.10.4.12


 ユーザー作成
# groupadd mysql
# useradd -g mysql mysql


 必要に応じて
# yum install cmake
# yum install gcc
# yum install gcc-c++
# yum install ncurses-devel
# yum install bison
# yum install make


 ソースからの場合
# wget ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
# tar zxvf wget ncurses-6.2.tar.gz
# cd ncurses-6.2
# ./configure --prefix=/usr --with-shared --without-debug
# make
# make install
ncuses ncurses-6.2.tar.gz :2020.04.09現在 最新バージョン


# yum install install bzip2
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.3.0/gcc-9.3.0.tar.gz
# tar zxvf gcc-6.2.0.tar.gz
# cd gcc-6.2.0
# ./contrib/download_prerequisites
# ./configure --disable-multilib --enable-languages=c,c++ --disable-bootstrap
# make
# make install

# yum remove gcc gcc-c++
GCC gcc-9.3.0.tar.gz :2020.04.09現在 最新バージョン


 インストール
# cd /tmp
# wget https://github.com/MariaDB/server/archive/mariadb-10.5.2.tar.gz
# tar zxvf mariadb-10.5.2.tar.gz
# cd mariadb-10.5.2
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=1 -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON
# make
# make install


 所有者等変更
# chown -R mysql:mysql /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql/data
# mkdir /var/log/mariadb
# mkdir /var/run/mariadb
# chown -R mysql:mysql /var/run/mariadb


 my.cnf 編集
# cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf


 データベース初期化 (初期インストール時のみ)
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --ldata=/usr/local/mysql/data/


 起動
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

データディレクトリを指定して起動
# /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data/ --user=mysql &


 確認
# /usr/local/mysql/bin/mysqlshow
テーブル名が表示される

もしくは

# /usr/local/mysql/bin/mysql
mysql> select Host, User, Password from mysql.user;
ユーザー一覧が表示される

となればOK


my.cnf 読み込み順 確認
# /usr/local/mysql/bin/mysql --help | grep my.cnf

socket位置 確認
# /usr/local/mysql/bin/mysql --help | grep socket


 全件数取得
SELECT SQL_CALC_FOUND_ROWS * FROM テーブル LIMIT 0,10;

SELECT FOUND_ROWS();
参考URL
システム構築に関する覚書 MySQL Limit制限をつけない場合の検索該当件数取得


更新 2020.04.09