この記事はUbuntuにMySQLを導入してPHPと連携して何かを表示させるところまでを目的としたものです。
環境
- ホストPC: Windows10
- ゲストPC: Ubuntu18.10
仮想環境のUbuntu18.10にはすでにapache2とPHPを導入しています。この状態で話をすすめていきたいと思います。
MySQLの導入
MySQLのインストール
早速MYSQLを導入していきたいと思います。以下のコマンドを打ちます。
$ sudo apt-get install mysql-server
なにかきかれますので はいを選択します
MySQLのインストールが無事に終わったようです。バージョンの確認をしてみます。以下のようになっていました。
$ mysql --version mysql Ver 14.14
MySQLの初期状態確認
インストールが終わりましたので起動状態の確認をしたいと思います。↓動いていました。インストールすると勝手に立ち上がるようです。
$ sudo service mysql status Active: active (running)
情報では初期パスワードが設定されているmysql.logというものがある。とのことでしたがそんなものはありませんでした。
$ sudo find / -name *mysql.log*
MySQLの初期設定
MySQLの初期設定はいろいろやり方があるとは思いますが、mysql_secure_installation というコマンドではなにかがうまくいきませんでした。初期パスワードが書かれているmysql.logもありません。パスワードが設定されていないようなのでまずはroot権限でデータベースにアクセスします。
sudo mysql -u root -p #はじめはrootユーザーでアクセス。パスワードを聞かれるがsudoなのでエンターするとつながる
次にroot権限でもアクセスできなくするパスワードを設定します。適当なパスワードを設定しようとすると失敗します。これは、パスワードポリシーに違反しているためです。筆者はネットの情報をみてやっていますが、できれば公式ドキュメントをさがしてみてください
MEDIUM ポリシーは、パスワードが最低 1 つの数値文字を含み、1 つの小文字および大文字を含み、1 つの特殊文字 (英数字以外) を含む必要があるという条件を追加します
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
パスワードが設定できたら、一旦exitしてmysqlを再起動しましょう
$ sudo service mysql restart
次に先ほど設定したパスワードでmysqlにログインできるかどうか確かめてみましょう。-uオプションと -pオプションをつけて接続します
$ mysql -u root -p
接続できれば成功です。できればroot権限でさえ、パスワードがないと接続できないことを確認してみてください。
補足事項
基本コマンド
sudo service mysql start | mysqlの軌道 |
---|---|
sudo service mysql stop | mysqlの停止 |
sudo service mysql restart | mysqlの再起動 |
sudo service mysql status | 起動状態の確認 |
mysqlコマンドのオプション
-u | ユーザー名を指定 |
---|---|
-P | パスワードを指定 |
-D | データベース名指定 |
-h | ホスト名の値を指定 |
-e | コマンドラインから直接 sql を実行 |
まとめ
mysqlは導入は簡単ですが、パスワード設定などは古い情報を参考にすると失敗することがあります。いずれはこの情報も古くなっていくと思いますので、だめだったら次だめだったら次とひとつひとつ潰していくのがよいかと思います。(一番よいのは公式の情報を読むことかと思いますが英語なので・・・きびしいんですよね)
PHPとの連携もやりたかったですが長くなりそうなのでこのあたりにしておきます。
コメント