Win7(x64)のVMのCentOS7.2(x64)にMariaDBを再インストール
CentOS7.2(x64)にMariaDBのバージョンを上げて
再インストールしてCakePHP2.xのテストで使える
ようにした。
[手順]
1. MariaDBのバージョンを確認して、5.5.xだったら削除。
# root at localhost.localdomain in ~ [12:14:30]
→ rpm -qa | grep -i "mariadb"
mariadb-5.5.50-1.el7_2.x86_64
mariadb-server-5.5.50-1.el7_2.x86_64
mariadb-libs-5.5.50-1.el7_2.x86_64
※5.5.xなので削除を実行。
# root at localhost.localdomain in ~ [12:14:43]
→ yum remove mariadb mariadb-libs
読み込んだプラグイン:fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mariadb.x86_64 1:5.5.50-1.el7_2 を 削除
--> 依存性の処理をしています: mariadb(x86-64) = 1:5.5.50-1.el7_2 のパッケージ: 1:mariadb-server-5.5.50-1.el7_2.x86_64
---> パッケージ mariadb-libs.x86_64 1:5.5.50-1.el7_2 を 削除
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: perl-DBD-MySQL-4.023-5.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: perl-DBD-MySQL-4.023-5.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mariadb-server.x86_64 1:5.5.50-1.el7_2 を 削除
---> パッケージ perl-DBD-MySQL.x86_64 0:4.023-5.el7 を 削除
---> パッケージ postfix.x86_64 2:2.10.1-6.el7 を 削除
--> 依存性の処理をしています: /usr/sbin/sendmail のパッケージ: redhat-lsb-core-4.1-27.el7.centos.1.x86_64
--> 新しい変更と依存性の解決を再開しています。
--> トランザクションの確認を実行しています。
---> パッケージ redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1 を 削除
--> 依存性の処理をしています: redhat-lsb-core(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-languages-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: redhat-lsb-core(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-cxx-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: redhat-lsb-core(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: redhat-lsb-core(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-printing-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: redhat-lsb-core(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-desktop-4.1-27.el7.centos.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ redhat-lsb.x86_64 0:4.1-27.el7.centos.1 を 削除
--> 依存性の処理をしています: lsb >= 4.0 のパッケージ: google-chrome-stable-54.0.2840.100-1.x86_64
---> パッケージ redhat-lsb-cxx.x86_64 0:4.1-27.el7.centos.1 を 削除
---> パッケージ redhat-lsb-desktop.x86_64 0:4.1-27.el7.centos.1 を 削除
---> パッケージ redhat-lsb-languages.x86_64 0:4.1-27.el7.centos.1 を 削除
---> パッケージ redhat-lsb-printing.x86_64 0:4.1-27.el7.centos.1 を 削除
--> トランザクションの確認を実行しています。
---> パッケージ google-chrome-stable.x86_64 0:54.0.2840.100-1 を 削除
--> 依存性解決を終了しました。
base/7/x86_64 | 3.6 kB 00:00:00
base/7/x86_64/group_gz | 155 kB 00:00:00
base/7/x86_64/primary_db | 5.6 MB 00:00:00
extras/7/x86_64 | 3.4 kB 00:00:00
extras/7/x86_64/primary_db | 183 kB 00:00:00
google-chrome | 951 B 00:00:00
google-chrome/primary | 2.0 kB 00:00:00
remi-safe | 2.9 kB 00:00:00
remi-safe/primary_db | 897 kB 00:00:03
updates/7/x86_64 | 3.4 kB 00:00:00
updates/7/x86_64/primary_db | 1.3 MB 00:00:00依存性を解決しました
======================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
======================================================================================================================================================================================
削除中:
mariadb x86_64 1:5.5.50-1.el7_2 @updates 49 M
mariadb-libs x86_64 1:5.5.50-1.el7_2 @updates 4.4 M
依存性関連での削除をします:
google-chrome-stable x86_64 54.0.2840.100-1 @/google-chrome-stable_current_x86_64 170 M
mariadb-server x86_64 1:5.5.50-1.el7_2 @updates 56 M
perl-DBD-MySQL x86_64 4.023-5.el7 @base 323 k
postfix x86_64 2:2.10.1-6.el7 @anaconda 12 M
redhat-lsb x86_64 4.1-27.el7.centos.1 @base 0.0
redhat-lsb-core x86_64 4.1-27.el7.centos.1 @base 45 k
redhat-lsb-cxx x86_64 4.1-27.el7.centos.1 @base 0.0
redhat-lsb-desktop x86_64 4.1-27.el7.centos.1 @base 0.0
redhat-lsb-languages x86_64 4.1-27.el7.centos.1 @base 814
redhat-lsb-printing x86_64 4.1-27.el7.centos.1 @base 0.0トランザクションの要約
======================================================================================================================================================================================
削除 2 パッケージ (+10 個の依存関係のパッケージ)インストール容量: 291 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
削除中 : 1:mariadb-server-5.5.50-1.el7_2.x86_64 1/12
警告: /var/log/mariadb/mariadb.log は /var/log/mariadb/mariadb.log.rpmsave として保存されました。
警告: /etc/my.cnf.d/server.cnf は /etc/my.cnf.d/server.cnf.rpmsave として保存されました。
削除中 : google-chrome-stable-54.0.2840.100-1.x86_64 2/12
削除中 : redhat-lsb-4.1-27.el7.centos.1.x86_64 3/12
削除中 : redhat-lsb-cxx-4.1-27.el7.centos.1.x86_64 4/12
削除中 : redhat-lsb-desktop-4.1-27.el7.centos.1.x86_64 5/12
削除中 : redhat-lsb-languages-4.1-27.el7.centos.1.x86_64 6/12
削除中 : redhat-lsb-printing-4.1-27.el7.centos.1.x86_64 7/12
削除中 : redhat-lsb-core-4.1-27.el7.centos.1.x86_64 8/12
削除中 : 2:postfix-2.10.1-6.el7.x86_64 9/12
削除中 : 1:mariadb-5.5.50-1.el7_2.x86_64 10/12
削除中 : perl-DBD-MySQL-4.023-5.el7.x86_64 11/12
削除中 : 1:mariadb-libs-5.5.50-1.el7_2.x86_64 12/12
警告: /etc/my.cnf は /etc/my.cnf.rpmsave として保存されました。
検証中 : 1:mariadb-server-5.5.50-1.el7_2.x86_64 1/12
検証中 : google-chrome-stable-54.0.2840.100-1.x86_64 2/12
検証中 : redhat-lsb-desktop-4.1-27.el7.centos.1.x86_64 3/12
検証中 : redhat-lsb-4.1-27.el7.centos.1.x86_64 4/12
検証中 : 1:mariadb-libs-5.5.50-1.el7_2.x86_64 5/12
検証中 : redhat-lsb-languages-4.1-27.el7.centos.1.x86_64 6/12
検証中 : 2:postfix-2.10.1-6.el7.x86_64 7/12
検証中 : redhat-lsb-core-4.1-27.el7.centos.1.x86_64 8/12
検証中 : perl-DBD-MySQL-4.023-5.el7.x86_64 9/12
検証中 : 1:mariadb-5.5.50-1.el7_2.x86_64 10/12
検証中 : redhat-lsb-printing-4.1-27.el7.centos.1.x86_64 11/12
検証中 : redhat-lsb-cxx-4.1-27.el7.centos.1.x86_64 12/12削除しました:
mariadb.x86_64 1:5.5.50-1.el7_2 mariadb-libs.x86_64 1:5.5.50-1.el7_2依存性の削除をしました:
google-chrome-stable.x86_64 0:54.0.2840.100-1 mariadb-server.x86_64 1:5.5.50-1.el7_2 perl-DBD-MySQL.x86_64 0:4.023-5.el7
postfix.x86_64 2:2.10.1-6.el7 redhat-lsb.x86_64 0:4.1-27.el7.centos.1 redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1
redhat-lsb-cxx.x86_64 0:4.1-27.el7.centos.1 redhat-lsb-desktop.x86_64 0:4.1-27.el7.centos.1 redhat-lsb-languages.x86_64 0:4.1-27.el7.centos.1
redhat-lsb-printing.x86_64 0:4.1-27.el7.centos.1完了しました!
2. 再度、検索コマンドを試して何も表示されなければ削除完了。
# root at localhost.localdomain in ~ [12:16:39]
→ rpm -qa | grep -i "mariadb"
3. 新しいパッケージをインストールするため、MariaDB yum リポジトリの追加。
※CentOS7用のリポジトリ(MariaDB stable 10.1)を追加。
# vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
4. MariaDBインストール。
※--enablerepo=mariadb オプション付きで MariaDBをインストール。
# root at localhost.localdomain in ~ [12:21:28]
→ yum -y install --enablerepo=mariadb MariaDB-common MariaDB-devel MariaDB-shared MariaDB-compat MariaDB-server MariaDB-client
読み込んだプラグイン:fastestmirror, langpacks
mariadb | 2.9 kB 00:00:00
mariadb/primary_db FAILED % [============================================================== ] 0.1 B/s | 17 kB 05:14:34 ETA
http://yum.mariadb.org/10.1/centos7-amd64/repodata/279f31f6ee542a2530c273a4c1ce9bab9abe7f50b9f63502d61b46548a3fe008-primary.sqlite.bz2: [Errno 12] Timeout on http://yum.mariadb.org/10.1/centos7-amd64/repodata/279f31f6ee542a2530c273a4c1ce9bab9abe7f50b9f63502d61b46548a3fe008-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
他のミラーを試します。
mariadb/primary_db FAILED % [=================================================================-] 0.3 B/s | 18 kB 00:01:00 ETA
http://yum.mariadb.org/10.1/centos7-amd64/repodata/279f31f6ee542a2530c273a4c1ce9bab9abe7f50b9f63502d61b46548a3fe008-primary.sqlite.bz2: [Errno 12] Timeout on http://yum.mariadb.org/10.1/centos7-amd64/repodata/279f31f6ee542a2530c273a4c1ce9bab9abe7f50b9f63502d61b46548a3fe008-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
他のミラーを試します。
mariadb/primary_db | 18 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* remi-safe: mirror.bebout.net
* updates: ftp.riken.jp
google-chrome 3/3
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ MariaDB-client.x86_64 0:10.1.20-1.el7.centos を インストール
---> パッケージ MariaDB-common.x86_64 0:10.1.20-1.el7.centos を インストール
---> パッケージ MariaDB-compat.x86_64 0:10.1.20-1.el7.centos を インストール
---> パッケージ MariaDB-devel.x86_64 0:10.1.20-1.el7.centos を インストール
---> パッケージ MariaDB-server.x86_64 0:10.1.20-1.el7.centos を インストール
--> 依存性の処理をしています: galera のパッケージ: MariaDB-server-10.1.20-1.el7.centos.x86_64
--> 依存性の処理をしています: libjemalloc.so.1()(64bit) のパッケージ: MariaDB-server-10.1.20-1.el7.centos.x86_64
---> パッケージ MariaDB-shared.x86_64 0:10.1.20-1.el7.centos を インストール
--> トランザクションの確認を実行しています。
---> パッケージ galera.x86_64 0:25.3.19-1.rhel7.el7.centos を インストール
--> 依存性の処理をしています: libboost_program_options.so.1.53.0()(64bit) のパッケージ: galera-25.3.19-1.rhel7.el7.centos.x86_64
---> パッケージ jemalloc.x86_64 0:3.6.0-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ boost-program-options.x86_64 0:1.53.0-26.el7 を インストール
--> 依存性解決を終了しました。依存性を解決しました
======================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
======================================================================================================================================================================================
インストール中:
MariaDB-client x86_64 10.1.20-1.el7.centos mariadb 39 M
MariaDB-common x86_64 10.1.20-1.el7.centos mariadb 43 k
MariaDB-compat x86_64 10.1.20-1.el7.centos mariadb 1.4 M
MariaDB-devel x86_64 10.1.20-1.el7.centos mariadb 6.6 M
MariaDB-server x86_64 10.1.20-1.el7.centos mariadb 100 M
MariaDB-shared x86_64 10.1.20-1.el7.centos mariadb 1.3 M
依存性関連でのインストールをします:
boost-program-options x86_64 1.53.0-26.el7 base 156 k
galera x86_64 25.3.19-1.rhel7.el7.centos mariadb 8.0 M
jemalloc x86_64 3.6.0-1.el7 mariadb 104 kトランザクションの要約
======================================================================================================================================================================================
インストール 6 パッケージ (+3 個の依存関係のパッケージ)総ダウンロード容量: 157 M
インストール容量: 688 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/mariadb/packages/MariaDB-10.1.20-centos7-x86_64-common.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 1bb943db: NOKEY ] 0.0 B/s | 0 B --:--:-- ETA
MariaDB-10.1.20-centos7-x86_64-common.rpm の公開鍵がインストールされていません
(1/9): MariaDB-10.1.20-centos7-x86_64-common.rpm | 43 kB 00:00:00
(2/9): MariaDB-10.1.20-centos7-x86_64-compat.rpm | 1.4 MB 00:00:01
(3/9): MariaDB-10.1.20-centos7-x86_64-devel.rpm | 6.6 MB 00:00:03
(4/9): MariaDB-10.1.20-centos7-x86_64-client.rpm | 39 MB 00:00:45
(5/9): boost-program-options-1.53.0-26.el7.x86_64.rpm | 156 kB 00:00:00
(6/9): MariaDB-10.1.20-centos7-x86_64-shared.rpm | 1.3 MB 00:00:03
(7/9): galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm | 8.0 MB 00:00:06
(8/9): jemalloc-3.6.0-1.el7.x86_64.rpm | 104 kB 00:00:01
(9/9): MariaDB-10.1.20-centos7-x86_64-server.rpm | 100 MB 00:01:31
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 1.6 MB/s | 157 MB 00:01:38
https://yum.mariadb.org/RPM-GPG-KEY-MariaDB から鍵を取得中です。
Importing GPG key 0x1BB943DB:
Userid : "MariaDB Package Signing Key <package-signing-key@mariadb.org>"
Fingerprint: 1993 69e5 404b d5fc 7d2f e43b cbcb 082a 1bb9 43db
From : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : MariaDB-common-10.1.20-1.el7.centos.x86_64 1/9
インストール中 : MariaDB-client-10.1.20-1.el7.centos.x86_64 2/9
インストール中 : boost-program-options-1.53.0-26.el7.x86_64 3/9
インストール中 : galera-25.3.19-1.rhel7.el7.centos.x86_64 4/9
インストール中 : jemalloc-3.6.0-1.el7.x86_64 5/9
インストール中 : MariaDB-server-10.1.20-1.el7.centos.x86_64 6/9
インストール中 : MariaDB-shared-10.1.20-1.el7.centos.x86_64 7/9
インストール中 : MariaDB-devel-10.1.20-1.el7.centos.x86_64 8/9
インストール中 : MariaDB-compat-10.1.20-1.el7.centos.x86_64 9/9
検証中 : MariaDB-shared-10.1.20-1.el7.centos.x86_64 1/9
検証中 : MariaDB-server-10.1.20-1.el7.centos.x86_64 2/9
検証中 : jemalloc-3.6.0-1.el7.x86_64 3/9
検証中 : MariaDB-common-10.1.20-1.el7.centos.x86_64 4/9
検証中 : galera-25.3.19-1.rhel7.el7.centos.x86_64 5/9
検証中 : boost-program-options-1.53.0-26.el7.x86_64 6/9
検証中 : MariaDB-devel-10.1.20-1.el7.centos.x86_64 7/9
検証中 : MariaDB-compat-10.1.20-1.el7.centos.x86_64 8/9
検証中 : MariaDB-client-10.1.20-1.el7.centos.x86_64 9/9インストール:
MariaDB-client.x86_64 0:10.1.20-1.el7.centos MariaDB-common.x86_64 0:10.1.20-1.el7.centos MariaDB-compat.x86_64 0:10.1.20-1.el7.centos MariaDB-devel.x86_64 0:10.1.20-1.el7.centos
MariaDB-server.x86_64 0:10.1.20-1.el7.centos MariaDB-shared.x86_64 0:10.1.20-1.el7.centos依存性関連をインストールしました:
boost-program-options.x86_64 0:1.53.0-26.el7 galera.x86_64 0:25.3.19-1.rhel7.el7.centos jemalloc.x86_64 0:3.6.0-1.el7完了しました!
※上記コマンドでインストールを完了したら、以下コマンドでインストール
されたバージョンを検索して確認。
# root at localhost.localdomain in ~ [12:29:28]
→ rpm -qa | grep "MariaDB"
MariaDB-client-10.1.20-1.el7.centos.x86_64
MariaDB-devel-10.1.20-1.el7.centos.x86_64
MariaDB-shared-10.1.20-1.el7.centos.x86_64
MariaDB-server-10.1.20-1.el7.centos.x86_64
MariaDB-common-10.1.20-1.el7.centos.x86_64
MariaDB-compat-10.1.20-1.el7.centos.x86_64
5. MariaDBの初期設定。
デフォルト設定ファイルは、/etc/my.cnf だが、中身は空っぽで、
/etc/my.cnf.d/ 配下の設定ファイルをincludeするようになっている。
※/etc/my.cnf を確認。
# root at localhost.localdomain in ~ [12:36:27]
→ cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
※/etc/my.cnf.d/ を確認。
# root at localhost.localdomain in ~ [12:32:40]
→ ls -al /etc/my.cnf.d
合計 40
drwxr-xr-x. 2 root root 4096 1月 11 12:29 .
drwxr-xr-x. 142 root root 8192 1月 11 12:32 ..
-rw-r--r-- 1 root root 295 12月 15 04:26 client.cnf
-rw-r--r-- 1 root root 763 12月 15 04:26 enable_encryption.preset
-rw-r--r-- 1 root root 232 12月 15 04:26 mysql-clients.cnf
-rw-r--r-- 1 root root 1080 12月 15 04:26 server.cnf
-rw-r--r-- 1 root root 770 11月 17 10:36 server.cnf.rpmsave
-rw-r--r-- 1 root root 285 12月 15 04:26 tokudb.cnf
※/etc/my.cnf.d/ ディレクトリ内にあるファイルの中身も同じく、ほとんど設定
されていないので、/usr/share/mysql/ から設定ファイルをコピー。
※ここでは、my-small.cnf を流用して、MariaDBを最小構成で設定。
# root at localhost.localdomain in ~ [12:37:20]
→ ls -al /usr/share/mysql/my-*.cnf
-rw-r--r-- 1 root root 4920 12月 15 08:51 /usr/share/mysql/my-huge.cnf
-rw-r--r-- 1 root root 20438 12月 15 08:51 /usr/share/mysql/my-innodb-heavy-4G.cnf
-rw-r--r-- 1 root root 4907 12月 15 08:51 /usr/share/mysql/my-large.cnf
-rw-r--r-- 1 root root 4920 12月 15 08:51 /usr/share/mysql/my-medium.cnf
-rw-r--r-- 1 root root 2846 12月 15 08:51 /usr/share/mysql/my-small.cnf# root at localhost.localdomain in ~ [12:41:16]
→ cp -p /usr/share/mysql/my-small.cnf /etc/my.cnf.d/server.cnf
※文字化けしないように少なくとも [client] と [mysqld] に UTF-8 を設定。
# root at localhost.localdomain in ~ [12:47:31]
→ vim /etc/my.cnf.d/server.cnf[client]以下に下記を追加
default-character-set = utf8[mysqld]以下に下記を追加
character-set-server = utf8[mysqldump]以下に下記を追加
default-character-set=utf8[mysql]以下に下記を追加
default-character-set=utf8
※MariaDB をインストールするとデフォルトで /var/lib/mysql が作成
されるが、もしディレクトリが存在していなかったら作成。
※存在するので、下記の通り。
# root at localhost.localdomain in ~ [12:50:50]
→ ls -al /var/lib/mysql
合計 28712
drwxr-xr-x 6 mysql mysql 4096 1月 11 12:29 .
drwxr-xr-x. 61 root root 4096 1月 11 10:22 ..
-rw-rw---- 1 mysql mysql 16384 1月 11 09:50 aria_log.00000001
-rw-rw---- 1 mysql mysql 52 1月 11 09:50 aria_log_control
-rw-rw---- 1 mysql mysql 5242880 1月 11 09:50 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 11月 14 17:11 ib_logfile1
-rw-rw---- 1 mysql mysql 18874368 1月 11 09:50 ibdata1
drwx------ 2 mysql mysql 4096 11月 18 19:27 live_spms_cake2
-rw-r----- 1 mysql mysql 0 1月 11 12:29 localhost.localdomain.err
drwx------ 2 mysql mysql 4096 11月 14 17:11 mysql
drwx------ 2 mysql mysql 4096 11月 14 17:11 performance_schema
drwx------ 2 mysql mysql 6 11月 14 18:16 test
6. mysql_secure_installation を用いたセキュリティ設定。
初期状態だと テスト用のデータベース、 アノニマスユーザ (匿名の
ログインユーザ) 等、不要なものが入っているため、キレイな状態に
しておく。
6-1) MariaDB サービス有効化、及びサービス開始。
[MariaDB サービス登録・起動]
# root at localhost.localdomain in ~ [12:51:20]
→ systemctl enable mariadb.service# root at localhost.localdomain in ~ [12:54:36]
→ systemctl start mariadb.service# root at localhost.localdomain in ~ [12:55:01]
→ ps -ef | grep "mysql" | grep -v "grep"
mysql 9423 1 1 12:54 ? 00:00:00 /usr/sbin/mysqld
6-2) MariaDB セキュリティ設定
前回の設定が残っていたため省略。
7. CakePHP 2.xのテスト環境用のユーザを再作成。
7-1) rootでログインしてユーザcake2の状態を確認。
# user at localhost.localdomain in ~ [15:18:53]
→ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.1.20-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SELECT user,host FROM mysql.user;
+-------+-----------+
| user | host |
+-------+-----------+
| cake2 | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+-------+-----------+
4 rows in set (0.00 sec)
7-2) ユーザcake2がlocalhostを参照してないので削除。
MariaDB [(none)]> DROP USER cake2;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> SELECT user,host FROM mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)
7-3) 改めて新規ユーザcake2の追加。
(ex)新規ユーザの追加
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO username@localhost IDENTIFIED BY "PASSWORD" WITH GRANT OPTION;
※上記例を参考に追加。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO cake2@localhost IDENTIFIED BY "cake2" WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> SELECT user,host FROM mysql.user;
+-------+-----------+
| user | host |
+-------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| cake2 | localhost |
| root | localhost |
+-------+-----------+
4 rows in set (0.00 sec)
7-4) 作成したユーザでログインし直す。
MariaDB [(none)]> quit
Bye# user at localhost.localdomain in ~ [15:32:46]
→ mysql -u cake2 -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.20-MariaDB MariaDB ServerCopyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
[参考サイト]
Windowsで編集したソースファイルに含まれた改行コード(^M)をVimで削除する方法
Win7(x64)のVMのCentOS7.2(x64)にMariaDBを再インストール【準備編】
CakePHP 2.4.xでFixtureを作成する時にMariaDB5.5.xを使うとエラー
になったので長らく放置していたけど、そろそろバージョンを
上げて、確認してみようと思ったので、自分用メモ。
[参考サイト]
How To Install The LAMP Stack On CentOS 7 – Liberian Geek
Install LAMP Server (Apache, MariaDB, PHP) On CentOS/RHEL/Scientific Linux 7 | Unixmen
Nim の GUIライブラリ nimxをインストールしてサンプルコードを動かしてみる(3)
この記事はNim Advent Calendar 2016 の25日目の記事です。
こちらの環境はManjaro Fluxbox 15.12のNim開発環境を
0.15.2 -> 0.15.3 にアップデートして再検証を行います。
[手順]
1. ローカルの開発環境のバージョンを上げる。
ローカルにインストールしたNimディレクトリに移動し
以下を実行。
% cd Nim
% git pull
% ./koch boot -d:release
2. バージョンを確認。
% nim
Nim Compiler Version 0.15.3 (2016-12-27) [Linux: amd64]
Copyright (c) 2006-2016 by Andreas Rumpf
3. nimxインストール。
% nimble install nimx
Downloading https://github.com/yglukhov/nimx using git
Verifying dependencies for nimx v0.1
Info: Dependency on sdl2 (any version) already satisfied
Verifying dependencies for sdl2 v1.1
Info: Dependency on opengl (>= 1.1) already satisfied
Verifying dependencies for opengl v1.1.0
Info: Dependency on x11 (any version) already satisfied
Verifying dependencies for x11 v1.0
Info: Dependency on nimsl (>= 0.2 & < 0.3) already satisfied
Verifying dependencies for nimsl v0.2
Installing jnim (any version)
Downloading https://github.com/vegansk/jnim using git
Verifying dependencies for jnim v0.2.5
Installing nimfp (>= 0.1.0)
Downloading https://github.com/vegansk/nimfp using git
Verifying dependencies for nimfp v0.3.5
Installing nimboost (>= 0.3.2)
Downloading https://github.com/vegansk/nimboost using git
Verifying dependencies for nimboost v0.3.4
Installing nimboost v0.3.4
Success: nimboost installed successfully.
Installing classy (>= 0.0.1)
Downloading https://github.com/nigredo-tori/classy using git
Verifying dependencies for classy v0.0.1
Installing classy v0.0.1
Success: classy installed successfully.
Installing nimfp v0.3.5
Success: nimfp installed successfully.
Installing jnim v0.2.5
Success: jnim installed successfully.
Installing nake (any version)
Downloading https://github.com/fowlmouth/nake using git
Verifying dependencies for nake v1.8
Installing nake v1.8
Building nake/nake using c backend
Success: nake installed successfully.
Installing closure_compiler (>= 0.2 & < 0.3)
Downloading https://github.com/yglukhov/closure_compiler.git using git
Verifying dependencies for closure_compiler v0.2
Installing closure_compiler v0.2
Building closure_compiler/closure_compiler using c backend
Success: closure_compiler installed successfully.
Installing plists (any version)
Downloading https://github.com/yglukhov/plists using git
Verifying dependencies for plists v0.1.0
Installing plists v0.1.0
Success: plists installed successfully.
Installing variant (>= 0.2 & < 0.3)
Downloading https://github.com/yglukhov/variant.git using git
Verifying dependencies for variant v0.2.1
Installing variant v0.2.1
Success: variant installed successfully.
Installing jester (any version)
Downloading https://github.com/dom96/jester using git
Verifying dependencies for jester v0.1.1
Installing jester v0.1.1
Success: jester installed successfully.
Installing https://github.com/yglukhov/ttf (>= 0.2.3 & < 0.3)
Downloading https://github.com/yglukhov/ttf using git
Verifying dependencies for ttf v0.2.3
Installing nimBMP (any version)
Downloading https://github.com/jangko/nimBMP using git
Verifying dependencies for nimBMP v0.1.2
Installing nimBMP v0.1.2
Success: nimBMP installed successfully.
Installing ttf v0.2.3
Success: ttf installed successfully.
Installing https://github.com/yglukhov/async_http_request (any version)
Downloading https://github.com/yglukhov/async_http_request using git
Verifying dependencies for async_http_request v0.1.0
Installing jsbind (any version)
Downloading https://github.com/yglukhov/jsbind using git
Verifying dependencies for jsbind v0.1
Installing jsbind v0.1
Success: jsbind installed successfully.
Installing async_http_request v0.1.0
Success: async_http_request installed successfully.
Installing jsbind (any version)
Downloading https://github.com/yglukhov/jsbind using git
Verifying dependencies for jsbind v0.1
Installing jsbind v0.1
Prompt: jsbind-0.1 already exists. Overwrite? [y/N]
Answer: y
Success: jsbind installed successfully.
Installing nimx v0.1
Success: nimx installed successfully.
4. Hello, world!をWindowに表示するサンプルコードを書く。
# File: main.nim
import nimx.window
import nimx.text_field
import nimx.system_logger # Required because of Nim bug (#4433)
proc startApp() =
# First create a window. Window is the root of view hierarchy.
var wnd = newWindow(newRect(40, 40, 800, 600))
# Create a static text field and add it to view hierarchy
let label = newLabel(newRect(20, 20, 150, 20))
label.text = "Hello, world!"
wnd.addSubview(label)
# Run the app
runApplication:
startApp()
5. ビルドして動作確認。
% nim c -r --noMain --threads:on main.nim
Hint: used config file '/home/haiju/Nim/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: main [Processing]
Hint: window [Processing]
Hint: abstract_window [Processing]
Hint: view [Processing]
Hint: typetraits [Processing]
Hint: tables [Processing]
Hint: hashes [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: math [Processing]
Hint: algorithm [Processing]
Hint: etcpriv [Processing]
Hint: sequtils [Processing]
Hint: types [Processing]
Hint: context [Processing]
Hint: opengl [Processing]
Hint: macros [Processing]
Hint: x [Processing]
Hint: xlib [Processing]
Hint: xutil [Processing]
Hint: keysym [Processing]
Hint: dynlib [Processing]
Hint: system_logger [Processing]
Hint: logging [Processing]
Hint: times [Processing]
Hint: os [Processing]
Hint: posix [Processing]
Hint: matrixes [Processing]
Hint: font [Processing]
Hint: unicode [Processing]
Hint: streams [Processing]
Hint: resource [Processing]
Hint: json [Processing]
Hint: lexbase [Processing]
Hint: async_http_request [Processing]
Hint: asyncdispatch [Processing]
Hint: oids [Processing]
Hint: endians [Processing]
Hint: heapqueue [Processing]
Hint: nativesockets [Processing]
Hint: net [Processing]
Hint: sets [Processing]
Hint: deques [Processing]
Hint: selectors [Processing]
Hint: epoll [Processing]
Hint: httpclient [Processing]
Hint: uri [Processing]
Hint: strtabs [Processing]
Hint: base64 [Processing]
Hint: mimetypes [Processing]
Hint: random [Processing]
Hint: httpcore [Processing]
Hint: asyncnet [Processing]
Hint: threadpool [Processing]
Hint: cpuinfo [Processing]
Hint: linux [Processing]
Hint: cpuload [Processing]
Hint: pathutils [Processing]
Hint: variant [Processing]
Hint: sdl2 [Processing]
Hint: unsigned [Processing]
Hint: timer [Processing]
Hint: mini_profiler [Processing]
Hint: sdl_perform_on_main_thread [Processing]
Hint: font_data [Processing]
Hint: stb_ttf_glyph_provider [Processing]
Hint: rect_packer [Processing]
Hint: ttf [Processing]
Hint: write_image_impl [Processing]
Hint: edtaa3func [Processing]
Hint: simple_table [Processing]
Hint: portable_gl [Processing]
Hint: image [Processing]
Hint: resource_cache [Processing]
Hint: oswalkdir [Processing]
Hint: load_image_impl [Processing]
Hint: worker_queue [Processing]
Hint: nimsl [Processing]
Hint: glsl_codegen [Processing]
Hint: composition [Processing]
Hint: helper_macros [Processing]
Hint: text_drawing [Processing]
Hint: animation [Processing]
Hint: animation_runner [Processing]
Hint: property_visitor [Processing]
Hint: class_registry [Processing]
Hint: serializers [Processing]
Hint: notification_center [Processing]
Hint: sdl_window [Processing]
Hint: event [Processing]
Hint: keyboard [Processing]
Hint: app [Processing]
Hint: window_event_handling [Processing]
Hint: view_event_handling [Processing]
Hint: view_event_handling_new [Processing]
Hint: linkage_details [Processing]
Hint: screen [Processing]
Hint: sdl_vk_map [Processing]
Hint: text_field [Processing]
Hint: control [Processing]
Hint: unistring [Processing]
Hint: table_view_cell [Processing]
Hint: pasteboard [Processing]
Hint: abstract_pasteboard [Processing]
Hint: key_commands [Processing]
Hint: formatted_text [Processing]
Hint: lower_bound [Processing]
Hint: scroll_view [Processing]
Hint: clip_view [Processing]
Hint: scroll_bar [Processing]
Hint: slider [Processing]
CC: main
CC: stdlib_system
CC: stdlib_sharedlist
CC: stdlib_locks
CC: nimx_window
CC: nimx_abstract_window
CC: nimx_view
CC: stdlib_typetraits
CC: stdlib_tables
CC: stdlib_sequtils
CC: stdlib_hashes
CC: stdlib_math
CC: stdlib_strutils
CC: stdlib_etcpriv
CC: stdlib_parseutils
CC: stdlib_algorithm
CC: nimx_types
CC: nimx_context
CC: opengl_opengl
CC: stdlib_macros
CC: x11_x
CC: x11_xlib
CC: x11_xutil
CC: x11_keysym
CC: stdlib_dynlib
CC: nimx_system_logger
CC: stdlib_logging
CC: stdlib_times
CC: stdlib_os
CC: stdlib_posix
CC: nimx_matrixes
CC: nimx_font
CC: stdlib_unicode
CC: stdlib_streams
CC: nimx_resource
CC: stdlib_json
CC: stdlib_lexbase
CC: async_http_request_async_http_request
CC: stdlib_asyncdispatch
CC: stdlib_oids
CC: stdlib_endians
CC: stdlib_heapqueue
CC: stdlib_nativesockets
CC: stdlib_net
CC: stdlib_sets
CC: stdlib_deques
CC: stdlib_selectors
CC: stdlib_epoll
CC: stdlib_httpclient
CC: stdlib_uri
CC: stdlib_strtabs
CC: stdlib_base64
CC: stdlib_mimetypes
CC: stdlib_random
CC: stdlib_httpcore
CC: stdlib_asyncnet
CC: stdlib_threadpool
CC: stdlib_cpuinfo
CC: stdlib_linux
CC: stdlib_cpuload
CC: nimx_pathutils
CC: variant_variant
CC: sdl2_sdl2
CC: stdlib_unsigned
CC: nimx_timer
CC: nimx_mini_profiler
CC: nimx_sdl_perform_on_main_thread
CC: nimx_font_data
CC: nimx_stb_ttf_glyph_provider
CC: nimx_rect_packer
CC: ttf_ttf
CC: nimx_write_image_impl
CC: ttf_edtaa3func
CC: nimx_simple_table
CC: nimx_portable_gl
CC: nimx_image
CC: nimx_resource_cache
CC: stdlib_oswalkdir
CC: nimx_load_image_impl
CC: nimx_worker_queue
CC: nimsl_nimsl
CC: nimsl_glsl_codegen
CC: nimx_composition
CC: nimx_helper_macros
CC: nimx_text_drawing
CC: nimx_animation
CC: nimx_animation_runner
CC: nimx_property_visitor
CC: nimx_class_registry
CC: nimx_serializers
CC: nimx_notification_center
CC: nimx_sdl_window
CC: nimx_event
CC: nimx_keyboard
CC: nimx_app
CC: nimx_window_event_handling
CC: nimx_view_event_handling
CC: nimx_view_event_handling_new
CC: nimx_linkage_details
CC: nimx_screen
CC: nimx_sdl_vk_map
CC: nimx_text_field
CC: nimx_control
CC: nimx_unistring
CC: nimx_table_view_cell
CC: nimx_pasteboard
CC: nimx_abstract_pasteboard
CC: nimx_key_commands
CC: nimx_formatted_text
CC: nimx_lower_bound
CC: nimx_scroll_view
CC: nimx_clip_view
CC: nimx_scroll_bar
CC: nimx_slider
Hint: [Link]
Hint: operation successful (82751 lines compiled; 7.564 sec total; 194.234MiB; Debug Build) [SuccessX]
Hint: /home/haiju/workspace/test-nimx/main [Exec]
6. 表示ができた!
[参考サイト]
CrystalのパッケージマネージャShardsの使い方とWebフレームワークのKemalを試してみるテスト
この記事はCrystal Advent Calendar 2016 の23日目の記事です。
CrystalのコードはRubyに似ているので、階乗とかフィボナッチ数
のプログラムを書いたりしたことはあったけど、パッケージマネージャ
のShardsを使ったアプリ開発はやったことなかったな。
と思って、その使い方の練習とフルスタックじゃないWebフレームワーク
を試してみたいなということで、Crystalの軽量フレームワークといえば
Kemalじゃね?ってことで、Hello World!を出力する簡単なコードを
書いて実行してみることにする。
※自分の環境
systemにanyenv + crenvで0.20.0をインストール。
[手順]
1. プロジェクトを作成しルートディレクトリへ移動。
% crystal init app example
create example/.gitignore
create example/LICENSE
create example/README.md
create example/.travis.yml
create example/shard.yml
create example/src/example.cr
create example/src/example/version.cr
create example/spec/spec_helper.cr
create example/spec/example_spec.cr
Initialized empty Git repository in /home/haiju/workspace/example/.git/% cd example
2. ルートディレクトリ直下のshard.ymlを修正してKemalを
設定。
% vim shard.yml
■kemalをインストールできるように修正。
name: example
version: 0.1.0
authors:
- haiju <mail-address>
targets:
example:
main: src/example.cr
dependencies: --- 追加
kemal: --- 追加
github: kemalcr/kemal --- 追加
branch: master --- 追加
crystal: 0.20.0 --- defaultは0.19.4だったがsystemの最新を指定してみる
license: MIT
3. Shardsを使って依存パッケージや依存ライブラリをインストール。
% shards install
Updating https://github.com/kemalcr/kemal.git
Updating https://github.com/luislavena/radix.git
Updating https://github.com/jeromegn/kilt.git
Updating https://github.com/RX14/multipart.cr.git
Installing kemal (master)
Installing radix (0.3.5)
Installing kilt (0.3.3)
Installing multipart (0.1.1)
4. 実際にコードを書いてみる。
というより、むしろ、Kemalのサイトにあるサンプルコードを
写経してみる。
% vim src/example.cr
require "kemal"
get "/" do
"Hello, World!"
end
Kemal run
5. 4のコードをビルド。
% crystal build --release src/example.cr
何かエラーが発生している?Kemalがうまく読み込めてないらしい。
Error in src/example.cr:3: while requiring "kemal": can't find file 'kemal' relative to '/home/haiju/workspace/example/src'
require "kemal"
6. crystal env を確認してみる。
% crystal env
CRYSTAL_CACHE_DIR="/home/haiju/.cache/crystal"
CRYSTAL_PATH="/home/haiju/.anyenv/envs/crenv/versions/0.20.0/src:libs"
CRYSTAL_VERSION="0.20.0"
これから先の調べ方がよくわからないので作業中断。
もう少し調べて補足するつもりだけど、他の気になる少し古めのフレームワーク
も全部、相対パスだと読み込めなくて同じエラーだった。
ということは根本的に調べ方がまずいのかもしれない。
もう少し公式ドキュメント周りから攻めて行ってみよう。
という訳で初心者がゴソゴソしてみた現場からは以上になります。
[参考サイト]
isucon5q-crystal を公開するまでのメモ · GitHub