2017年5月13日土曜日

MySQL

今度はMySQLをインストールします。これがないとデータベースが使えません。

とりあえずCentOSにもともと入っているmariaDBを消します。

$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql/

それからMySQLをインストールします。
このサイトからまずMySQLをダウンロードします。
https://dev.mysql.com/downloads/repo/yum/

ダウンロードといってもCentOSでのダウンロードなのでwgetを使います。wgetはなんのことはありません、単になにかをダウンロードしたいときに使うコマンドです。CentOSはGUIではないので「ブラウザを開きクリックでダウンロード」はできないのです。なので代わりにwgetをつかってダウンロードします。

とりあえずCentOS (Linux) version 7用のMySQLを探してwgetでダウンロードします。
ちなみにCentOSはRedHatLinuxのパクリ(というと言葉は悪いですが)OSなのでRedHatLinuxで動くものはたいていCentOSでも動きます。

CentOS version6用のは一個下にありますね。

以下のコマンドを実行してください。するとダウンロードが始まります。終わったらrpm -ivhでインストールします。
CentOS 7 $ wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm $ sudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm $ sudo yum install mysql-server CentOS 6以前 $ wget https://dev.mysql.com/get/mysql57-community-release-el6-10.noarch.rpm $ sudo rpm -ivh mysql57-community-release-el6-10.noarch.rpm $ sudo yum install mysql-server
するとMySQLがインストールされます。以下のコマンドでMySQLをスタートします。
CentOS7の場合
 $ sudo systemctl start mysqldCentOS6以前の場合
 $ sudo service mysqld start
MySQLのステータスを見るときは以下のコマンドを使います。
CentOS7の場合
 $ sudo systemctl status mysqld
CentOS6以前の場合
 $ sudo service mysqld status
MySQLが仮想マシン起動時に自動的に立ち上がるようにします。
以下のコマンドを実行してください。


とりあえずMySQLのインストールはできましたが、MySQLは初回起動時に設定をする必要があります。次のコマンドを使用して一時パスワードを発行します。

$ sudo grep 'temporary password' /var/log/mysqld.log

赤線部が一時パスワード
それから次のコマンドを使用します。
$ sudo mysql_secure_installation

そしたらパスワードを求められると思うのでさっきの一時パスワードを入力します。そのほかは全部「y」でいいと思いますが、rootにパスワード設定しないとかお好みで設定しても構いません。

rootにパスワードを設定する場合、半角英数字8文字でかつ特殊文字(@など)1字以上、大文字1字以上、小文字1字以上混ぜなきゃいけないパスワードの設定を求められます。これは面倒くさいので4文字かつ変な制約なしにパスワードを設定できるように変えます。

以下のコマンドでMySQLにログインします。

$ mysql -u root -p


ここで以下のSQLを実行することでパスワード設定時のルールが見れます。

mysql> SHOW VARIABLES LIKE 'validate_password%';

これによると現在は「8文字以上、大文字1文字以上、小文字1文字以上、特殊文字@など1文字以上」というルールになっています。

最低4文字以上、他の制約はなしというルールに変えます。

mysql> SET GLOBAL validate_password_length=4;
mysql> SET GLOBAL validate_password_policy=LOW;

さっきと同じSQLを実行するとルールが変わってることがわかります。

新しいrootのパスワードを設定します。とりあえずrootのパスワードは「root」にしておきます。以下のSQLでパスワード変更を行います。

mysql> set password for root@localhost=password('root');


以上でMySQLの設定は終わりです。
MySQLを抜ける場合は以下のコマンドです。

mysql> quit


リンク:
1. VagrantとVirtual box
2. アパッチのインストール
3. MySQLのインストール
4. Pythonのインストール
5. PythonでHello World