MariaDB 10.0

NO IMAGE

ディストリビューション : CentOS7

アプリケーション : MariaDB 10.0(IUS)

MariaDBとは、MySQLから派生したオープンソースのリレーショナルデータベース管理システムです。最近のLinuxディストリビューションの標準データベースになってます。

古いバージョンのライブラリーがインストールされていたら削除してからインストール

rpm -qa | grep mariadb-libs
yum remove mariadb-libs
yum --disablerepo=extras,updates --enablerepo=ius,epel install mariadb101u-server

設定(必要最低限のUTF8対応)

/etc/my.cnf.d/client.cnf

#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#


[client]
default-character-set = utf8

# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]

/etc/my.cnf.d/mariadb-server.cnf

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld/mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
character-set-server = utf8

起動

systemctl start mariadb.service

サービス登録

systemctl enable mariadb.service

初期セットアップ

mysql_secure_installation

rootのパスワード(New password:)を設定する以外はセキュリティーに関することなので全てエンターキーで問題ありません。

 

Enter current password for root (enter for none):
Set root password? [Y/n]
New password:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

接続確認・ログイン

mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.1.31-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

データベース操作 コマンド 参考例

基本的にコマンドによる操作はMySQLと変わりません。

権限については「データベース レベル」の操作のみ記載します。

権限レベル一覧

・グローバル レベル = 全てのデータベースに対して権限を付与

・データベース レベル = データベースに対して権限を付与

・テーブル レベル = テーブルに対して権限を付与

・カラム レベル = テーブルのカラムに対して権限を付与

 

設定確認

show variables;

設定確認絞り込み 例:文字コード

show variables like 'char%';

ストレージエンジン一覧

show engines;

ステータス確認

show status;

ステータス絞り込み 例:コマンド発行回数

show status like 'Com_%';

データベース作成

create database test;

データベース削除

drop database test;

データベース一覧

show databases;

データベース選択

use mysql;

テーブル一覧

show tables;

ユーザ一覧

select host,user from mysql.user;

ユーザ作成 その1(通常の作成)

create user 'test'@'localhost' identified by 'test';

ユーザ作成 その2(特定データベースに対して権限付与と同時にユーザ作成)

grant all privileges on test.* to 'test'@'localhost' identified by 'local' with grant option;

ユーザ作成 その3(データベース名にワイルドカードを指定して権限付与と同時にユーザ作成)

grant all privileges on `test%`.* to 'test'@'localhost' identified by 'local' with grant option;

ユーザ削除

drop user test@localhost;

権限の付与(ワイルドカード指定なし)

grant all privileges on test to 'test'@'localhost';
flush privileges;

権限の付与(ワイルドカード指定あり)

grant all privileges on `test%`.* to 'test'@'localhost';
flush privileges;

権限の削除

revoke all privileges, grant option from 'test'@'localhost';

ユーザ権限確認(特定ユーザ)

show grants for 'test'@'localhost';

ユーザ権限確認(ログインユーザ)

show grants;

パスワード変更

update mysql.user set password=password('123456789') where user='test'; 
flush privileges;

 

データベースカテゴリの最新記事