手順 (1):MariaDBをアンインストールする
$ yum remove MariaDB-server MariaDB-client MariaDB-common MariaDB-compat galera-4 MariaDB-devel ------------------------ ================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================ 削除中: MariaDB-common x86_64 10.5.9-1.el7.centos @mariadb-main 303 k MariaDB-compat x86_64 10.5.9-1.el7.centos @mariadb-main 11 M galera-4 x86_64 26.4.7-1.el7.centos @mariadb-main 39 M 依存性関連での削除をします: perl-DBD-MySQL x86_64 4.023-6.el7 @base 323 k php-mysql x86_64 5.4.16-48.el7 @base 232 k トランザクションの要約 ================================================================ 削除 3 パッケージ (+2 個の依存関係のパッケージ) インストール容量: 51 M 上記の処理を行います。よろしいでしょうか? [y/N]y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 削除中 : php-mysql-5.4.16-48.el7.x86_64 1/ 削除中 : perl-DBD-MySQL-4.023-6.el7.x86 2/5 削除中 : MariaDB-common-10.5.9-1.el7.ce 3/ 削除中 : MariaDB-compat-10.5.9-1.el7.ce 4/5 削除中 : galera-4-26.4.7-1.el7.centos.x 5/ 検証中 : galera-4-26.4.7-1.el7.centos.x 1/5 検証中 : php-mysql-5.4.16-48.el7.x86_64 2/ 検証中 : MariaDB-compat-10.5.9-1.el7.ce 3/5 検証中 : MariaDB-common-10.5.9-1.el7.ce 4/5 検証中 : perl-DBD-MySQL-4.023-6.el7.x86 5/5 削除しました: MariaDB-common.x86_64 0:10.5.9-1.el7.centos MariaDB-compat.x86_64 0:10.5.9-1.el7.centos galera-4.x86_64 0:26.4.7-1.el7.centos 依存性の削除をしました: perl-DBD-MySQL.x86_64 0:4.023-6.el7 php-mysql.x86_64 0:5.4.16-48.el7 完了しました! ------------------------ 「yum remove」で以下のパッケージを削除します。 MariaDB-server MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel galera-4 ------------------------- 不要ファイル削除 削除されずに残っているファイル・ディレクトリがあるので、手動で削除します。 ディレクトリ説明 /var/lib/mysqlデフォルトのデータファイル、ログファイルの格納先 /etc/my.cnf.dオプションファイルの格納先 /data本環境では、このディレクトリにデータファイル、ログファイルの格納先を変更しているので、手動で削除する ------------------------ # rm -rf /var/lib/mysql # rm -rf /etc/my.cnf.d # rm -rf /data ----------------------- # rpm -qa | grep -i "mariadb" ※何も表示されなかったら OK (2)文字コード設定 MariaDB Server のデフォルト設定では文字コードが latin1 になっていますので,日本語を扱えるよう,utf8 に変更します。 /etc/my.cnf.d/server.cnf の [mariadb] セクションに以下の設定を追加します。 [mariadb] character-set-server=utf8 (2)MariaDB Server の インストールする 最新版は $curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash で最新版を呼び込む。 ーーーーーーーーーーーーーーーーーーー このスクリプトでは /etc/yum.repos.d に以下の3レポジトリが設定されます。 MariaDB Server Repository MariaDB MaxScale Repository MariaDB Tools Repository ーーーーーーーーーーーーーーーーーーー これを省くと、古いバージョンが自動的にインストールされる。 次いで、 $ yum install mariadb-server ------------------------------------ 文字コード設定 MariaDB Server のデフォルト設定では文字コードが latin1 になっていますので,日本語を扱えるよう,utf8 に変更します。 /etc/my.cnf.d/server.cnf の [mariadb] セクションに以下の設定を追加します。 [mariadb] character-set-server=utf8 -------------------------------------- (3)mariadb serviceの有効 $ systemctl enable mariadb $ systemctl start mariadb (4)確認をする mysqlコマンド(MariaDB monitor)を実行して以下のようなバナーが表示されれば, MariaDB 10.4 が正常にインストールされていることが確認できます。 $ mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.68-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)]> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) すべて utf8 に変更されていることが確認できます。 (5) 管理者の登録 mariadb管理者のパスワードを設定します。 ここでは、管理者パスワードとしてadminを設定します。 管理者パスワードの設定 [root@server ~]# mysqladmin -u root password 'admin' (6)データベースの作成、削除方法 [root@server ~]# mysql -u root -p Enter password: -snip- (A)データベース確認 MariaDB [(none)]> show databases; (B)testdbという名前のデータベース作成 データベースの登録 MariaDB [(none)]> create database testdb; Query OK, 1 row affected (0.000 sec) (C)データベース確認(testdbが作成されたことがわか) データベースの確認 MariaDB [(none)]> show databases; (D)データベース削除方法 MariaDB [(none)]> drop database testdb; (F)テーブルに対する操作 使用するデータベース(testdb)を選択します。 ★データベースの選択 MariaDB [mysql]> use testdb ★データベースの確認 MariaDB [testdb]> status; {tatusコマンドを使って、現在使用しているデータベースを確認します。 Current databaseがtestdbになっていることがわかります。 また、MariaDBのプロンプトがmysqlからtestdbに変更されたことからも、 データベースがtestdbに変更されたことがわかります。} ★テーブルの作成方法(create) MariaDB [testdb]> create table customer (name varchar(32), age tinyint unsigned); { testdbデータベースにcustomerテーブルを作成します。 customerテーブルは、名前(name)と年齢(age)のカラムを指定して作成します。} ★テーブルを確認 MariaDB [testdb]> show tables; {customerという名前のテーブルが作成されたことがわかります。} ★テーブルの削除方法(drop) MariaDB [testdb]> drop table customer; ★テーブルの名前を変更する方法(alter) MariaDB [testdb]> alter table customer rename customer_new; {customerという名前のテーブルをcustomer_newに変更します。} ★データを設定する方法(insert) MariaDB [testdb]> insert into customer values("suzuki-san",40); {customerテーブルに名前(suzuki-san)と年齢(40)を登録します。} ★ータを更新する方法(update) MariaDB [testdb]> update customer set age=30 where age=40; {suzuki-sanの年齢を40歳から30歳に変更してみます。} ★テーブルの確認 MariaDB [testdb]> select name,age from customer; ★データを削除する方法(delete,where) MariaDB [testdb]> delete from customer where name='suzuki-san'; ★データを一括削除する方法(delete) テーブルtestdbに登録されているデータを確認 MariaDB [testdb]> select name,age from customer; MariaDB [testdb]> delete from customer; ★カラムの追加方法(alter table add) MariaDB [testdb]> select name,age from customer; MariaDB [testdb]> show columns from customer; {住所(address)カラムが追加されたことがわかります。} MariaDB [testdb]> alter table customer drop column address; ★条件に一致するレコードを表示する方法 MariaDB [testdb]> drop table customer; {testdbデータベース内にテスト用のテーブルを作成します。} MariaDB [testdb]> select * from customer; {テスト用に作成したテーブルを確認します。} ★特定の条件に一致するレコードの取り出し方法(where) MariaDB [testdb]> select * from customer where age=30; {customerテーブルから年齢が30歳のレコードを取り出します。 年齢が30歳の人はkato-sanであることがわかります。} (7)ーザの登録方法 ★管理者権限でモニタにログインします。 ★MariaDB [(none)]> create user apache@localhost identified by '11111'; {localhostからのみデータベースに利用可能なユーザ(apache)を登録します。 apacheのパスワードは11111に設定します} ★登録されているユーザを確認します。 MariaDB [(none)]> select host,user from mysql.user; {apacheが登録されたことがわかります。} ★ユーザの削除方法 MariaDB [(none)]> drop user apache@localhost; (8)ユーザ権限の設定、削除する方法 (A) 限の種類 ユーザ権限は、次のようなものがあります。一部を抜粋 権 限容 ALL全ての権限を表す。管理者のみがもつことが望ましい。 CREATECREATEコマンドを発行する権限 ALTERALTERコマンドを発行する権限 DELETEDELETEコマンドを発行する権限 INSERTINSERTコマンドを発行する権限 SELECTSELECTコマンドを発行する権限 UPDATEUPDATEコマンドを発行する権限 ★apacheユーザにselectコマンド実行の権限を付与します。 MariaDB [testdb]> grant select on customer1 to apache@localhost identified by '11111'; ★apacheユーザに与えられている権限を確認します。 MariaDB [testdb]> show grants for apache@localhost; ★権限を削除する方法(revoke) 理者権限でモニタを起動します。 モニタ起動 [root@server ~]# mysql -u root -p (9)apacheユーザでモニタを起動します。 apache権限でモニタ起動 [root@server ~]# mysql -u apache -p