MariaSQLでデータベースを作ろう!
ここでは、MariaSQLのインストール手順を掲載しています。
MariaSQLとは…?
MariaSQLはオープンソースで開発されているデータベースです。
RHEL 6まではMySQLが標準でしたが、RHEL 7以降はこのMariaSQLが標準となりました。
基本的な使い方はMySQLと変わりません。
MariaSQLのインストール
[root@rl8 ~]# dnf -y install mariadb-server
インストール済み:
mariadb-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-backup-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-common-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-connector-c-3.1.11-2.el8_3.x86_64
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
mariadb-errmsg-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-gssapi-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-server-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
mariadb-server-utils-3:10.3.35-1.module+el8.6.0+1005+cdf19c22.x86_64
perl-DBD-MySQL-4.046-3.module+el8.6.0+904+ef468285.x86_64
perl-DBI-1.641-4.module+el8.6.0+891+677074cb.x86_64
perl-Math-BigInt-1:1.9998.11-7.el8.noarch
perl-Math-Complex-1.59-421.el8.noarch
完了しました!
インストールが完了したら、設定ファイルに、以下(赤字)を追記します。
[root@rl8 ~]# cp -p /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf.old
[root@rl8 ~]# vi /etc/my.cnf.d/mariadb-server.cnf
[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=utf8mb4
[root@rl8 ~]# cp -p /etc/my.cnf.d/mysql-clients.cnf /etc/my.cnf.d/mysql-clients.cnf.old
[root@rl8 ~]# vi /etc/my.cnf.d/mysql-clients.cnf
#
# These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
#
[mysql]
default-character-set=utf8mb4
utf8mb4は従来のutf8に加え、絵文字などのキャラクターにも対応した文字コードです。
というか、本来のUTF-8は絵文字にも対応可能(最大4バイト)なんですが、MySQLやMariaSQLの定義するutf8はなぜか非対応(最大3バイト)です。
つまり別物です。
その代わりに、utf8mb4という文字コード(最大4バイト)が別途定義されています。
なんてややこしい!
MariaSQLの起動
それでは、起動をしてみます。
[root@rl8 ~]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service. Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service. Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
MariaSQLの初期設定
MariaSQLの初期設定を行います。
途中、パスワード入力を求められますが、これはMariaSQLの管理者ユーザ(root)のパスワードです。CentOSのrootユーザではないので、注意してください。
パスワードは自由に決めることができます。
[root@rl8 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): [Enter] OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] [Enter] New password: [MariaSQLのrootパスワード] Re-enter new password: [再入力] Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] [Enter] ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] [Enter] ... Success! By default, MariaSQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] [Enter] - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] [Enter] ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaSQL installation should now be secure. Thanks for using MariaSQL!
文字コードの確認
せっかくなので、MariaSQLへのログイン方法とデータベースの文字コードを確認をしておきましょう。
[root@rl8 ~]# mysql -u root -p
Enter password: [MariaSQLのrootパスワード]
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 16 Server version: 10.3.35-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)]>」 と表示されればログイン完了です。
続いて、文字コードの確認をしてみます。
MariaDB [(none)]> show variables like "%char%";
+--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mariadb/charsets/ | +--------------------------+------------------------------+ 8 rows in set (0.002 sec)
MariaDB [(none)]> show variables like "%coll%";
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+ 3 rows in set (0.002 sec))
無事、文字コードが「utf8mb4」になっていることを確認できました。
最後に、MariaSQLからログアウトしましょう。
MariaDB [(none)]> exit
Bye
以上で設定完了。以後、必要に応じてデータベースを作成していきます。
今回新しく登場したコマンド
- mysql_secure_installation
- mysql
[広告]
トップページ
Rocky Linux 8
○インストール準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他