MySQLのユーザ設定について(Mac)
環境
・macOS Big Sur 11.4
・MySQL 8.0.25
前提条件
・MySQLをインストールし、起動している状態
・ローカルホストのユーザの作成
1. ユーザの作成
MySQLのコマンド入力モードにて、
「mysql> CREATE USER 'pomupomu'@localhost IDENTIFIED BY 'testPassword'; 」
と入力します。
pomupomu : ユーザ名
testPassword : パスワード
入力後に、「Query OK, 0 rows affected 」と表示されたらユーザの作成は完了です。
2. ユーザの確認
MySQLのコマンド入力モードにて、
「mysql> SELECT user, host FROM mysql.user;」と入力します。
入力後に、
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| pomupomu | localhost |
| root | localhost |
+------------------+-----------+
と表示されます。
無事に「pomupomu」の名前がある事を確認できました。
3. ユーザの削除
MySQLのコマンド入力モードにて、
「mysql> DROP USER pomupomu@'localhost';」と入力します。
※上記のコマンドで削除できるのですが、確認の為に「mysql> SELECT user, host FROM mysql.user;」と入力したところ、
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| root | localhost |
+------------------+-----------+
と表示され、「pomupomu」の名前が削除されていました。
MacにMySQLをインストールする方法
環境
・macOS Big Sur 11.4
・MySQL 8.0.25
1. mac内にMySQLが入っているかの確認
ターミナルにて「mysql --version」を入力します。
「-bash : mysql: command not found」と表示されたので、
MySQLがインストールされていない事が確認できました。
2. MySQLをインストール
Homebrewを使い、MySQLをインストールします。
(Homebrewのインストールについては、詳しく記事を書いている方がいるので割愛します。)
ターミナルにて「brew install mysql」と入力します。
インストール完了後に、再び「mysql --version」をターミナルに入力すると、「mysql Ver 8.0.25」とバージョンが表示されました。
これで、インストールは完了です。
3. MySQLの起動
インストールが完了したら、MySQLを起動させます。
ターミナルにて「mysql.server start」と入力します。
MySQLが起動に成功すると「Starting MySQL .SUCCESS!」と表示されます。
4. MySQLにログイン
MySQLのインストール後、初めてのログインなので、初期設定の「root」ユーザでログインします。
ターミナルにて、「mysql -u root」と入力します。
ログインが成功すると「Welocom to the MySQL. ・・・ mysql> 」と表示されます。
5. MySQLのコマンド入力モードの解除
MySQLのコマンドモードを解除したい時は、「mysql> exit;」と入力します。
その後、「Bye」と表示されたらコマンド入力モードは解除され、ターミナルに戻ります。
6. MySQLの停止
最後に、ターミナルにて「mysql.server stop」と入力します。
「Shutting down MySQL . SUCCESS!」と表示され、MySQLは停止します。
phpMyAdminにログインできない
環境
・macOS Big Sur 11.4
・MySQL 8.0.25
・PHP 7.3
1. phpMyAdminでの初めてのログイン
phpMyAdminにてログインをしたら、「MySQLサーバーにログインできません」、「mysqli::real_connect(): (HY000/2002): No such file or directory」というエラーが表示された。
解決策
【phpMyAdmin】No such file or directory | ミーミルの泥泉
上記のURLの記事の方法を使用させていただき、
share/phpmyadmin/内のconfig.inc.phpファイルの一部分を変更しました。
$cfg['Servers'][$i]['host'] = 'localhost';
↓
$cfg['Servers'][$i]['host'] = '127.0.0.1';
2. phpMyAdminでの2度目のログイン
127.0.0.1に変更してから再度ログインしたら次は、
「mysqli::real_connect(): The server requested authentication unknown to the client [chasing_sha2_password]」
「mysqli::real_connect(): (HY000/2054): The server requested authentication method unknown to the client」というエラーが表示されました。
解決策
my.cnfに「default_authentication_plugin=mysql_native_password」を追記し、MySQLを再起動したところ、無事にログインできました。
※追記する場所は、どこでも良いみたいです。
追記
MySQLの設定ファイルmy.cnfを探す方法
「mysql --help | grep my.cnf」をターミナルに入力します。
入力すると「ordere of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf」と
ファイルがある場所を表示してくれました。
参考文献
動的なwebサイトを初めて作成した話
作成しようと思った経緯
最近、生物学に興味が湧いたのでHTML+CSS+PHP+MySQL+AWSで顕微鏡を使用して撮影した写真を文章と一緒に投稿が可能なブログのようなサイトを作ろうと思いました。
※主は、エンジニアではありません。
開発環境(1つ目)
・macOS Big Sur 11.4
・Apache2.4
・MySQL 8.0.25
・PHP 7.3
開発環境(2つ目)
・centOS 7.6
・Apache2.4
・MySQL 8.0.25
・PHP 7.3
本番環境
・Amazon Linux2
・Apache2.4
・MySQL 8.0.25
・PHP 7.3
作成中の記録
1日目(macbookを使用)
macのkeynoteを使用して、サイトの大まかな構成を作成しました。
いろいろな機能が欲しいな〜と思いつつも、とりあえずシンプルに動くものを最初に作ろうと思い、構成はシンプルにしました。
2日目(macbookを使用)
HTMLとCSSで、インデックスや投稿したい文と写真が表示できるページの作成をしました。
3日目(macbookを使用)
投稿した文と写真を表示するページのレイアウトが好みではなかったので、試行錯誤していました。
以前に登山中に撮影した写真をヒーローイメージにしたら見栄えがよくなりました。
(登山中に写真を撮っていた過去の自分に感謝です。)
掲示板を作成するにはPHPとMySQLが必要なのですが、両方とも使用した事がないのでオライリーの「初めてのPHP、MySQL、JavaScript&CSS」を購入しました。
4日目(centOS7を使用)
掲示板の文章を保存するのにDBが必要だが、MySQLとはなんぞやという感じなので、オライリーの「初めてのPHP、MySQL、JavaScript&CSS」を読みつつ、centOS7にLAMP環境を構築しました。
5日目(centOS7を使用)
※PHPのフォームが文字化けで表示されてしまった
PHPのphp.iniのmbstringsもutf8にしたが文字化けが直りませんでした。
最終的な文字化けの対処は、meta charset ute-8を設定した事で直りました。
7〜10日目(centOS7を使用)
グレイコードさんのサイトを見ながら、掲示板の作り方を練習しながら学びました。
ここでは、centOS7にLAMP環境を構築して練習していました。
※phpMyAdminのインストールに少し躓きましたが、ファイルをインストールして、unzipで解凍し、/var/www/htmlにphpMyAdminのファイルを移動したら起動できました。
11日目(macbookを使用)
macOSにApache、MySQL、PHPをインストールしました。
インストール時につまづいた箇所を別のハテナの記事に書きました。
12〜20日目(macbookを使用)
7〜10日目にグレイコードさんのサイトで学んだ事を参考にし、PHPとMySQLを自身のサイトに実装しました。
macOSの環境に実装していく事に少し手間取りましたが無事に実装できました。
21日目
デザインの本を読みながらCSSを使い、サイトのデザインを変更しました。
本を読んでいるとwebサイトの配色は3〜4色が扱いやすく、さらに見やすくて良いと書いてあったので、自然をイメージしやすい緑色や茶色をベースとした配色にしました。
現時点の配色では多様な色覚に配慮できていないので、今後改善する際には配慮をした配色にしたいと考えています。
デザインの本を一冊読んでみましたが、レイアウト・色・書体・画像について知らない事が多くあり、とても奥が深いと感じました。
22日目(macbookを使用)
Sketchの使い方の本を読みながらデザインツールであるSketchを使い、サイトに使う画像を作成しました。
23〜25日目(Amazon Linux2を使用)
AWSのEC2を使用したことがなかったので、EC2インスタンスの作成の方法・ターミナルの使用方法・コマンド操作の方法などの基本的な事をEC2を動かしながら学びました。
学んだ後に実際に本番環境用のEC2インスタンスを作成し、LAMP環境を構築し、gitからwebサイトのファイルをクローンしました。
26、27日目
EC2上に構築したwebサイトを公開しようとしたが、AWSとLinuxのセキュリティについて不安だったので、Linuxの本を何冊か読んだり、AWSのドキュメントを読みながらセキュリティのレベルを向上させました。
28日目
相場がわからないので高いのか安いのかは不明ですが、1年のドメイン使用料は12ドルでした。
29日目
作成したwebサイトをHTTPS化をしたかったので、AWSのRoute53・AmazonCertificateManager・ElasticLoadBalancerを使用しました。
無事にwebサイトをHTTPS化できたので、ここでひとまず完成とします。
完成
HTML+CSS+PHP+MySQL+AWSを使用して作成したサイトの画像です。
感想
今までLAMP環境を使用した動的サイトを作成した事がなく、様々な箇所でつまづいてしまい大変でしたが、webサイトを公開できて嬉しいです。
(上手い下手に関わらず、とりあえず最後まで完成させようという精神状態でした。)
普段、日常で使用しているwebサイトが多くの時間や人員、技術、知識の上で成り立っているという事を改めて実感しました。
参考図書
- 初めてのPHP、MySQL、JavaScript&CSS - 著Robin Nixon
- AWSではじめるLinux入門ガイド - 著トレノケート株式会社山下光洋
- パーフェクトPHP - 著小川雄大/柄沢聡太郎/橋口誠
- CSSグリッドで作るHTML5&CSS3レッスンブック - 著エビスコム
- UIデザイナーのためのSketch入門&実践ガイド - 著吉竹遼
- いちばんよくわかるWebデザインの基本きちんと入門 - 著伊藤庄平
- centOS7で作るネットワークサーバ構築ガイド - 著サーバ構築研究会
- 標準テキストcentOS7構築・運用・管理パーフェクトガイド - 著有限会社ナレッジデザイン大竹龍史/市来秀男/山本道子/山崎佳子
参考文献
Linuxについて
Apacheについて
MySQLについて
PHPについて
EC2について
AWS(EC2)を立ち上げてPHPを動かす話 - Qiita
セキュリティについて
HTTPS化について
最後に
大勢の方のブログや文献や書籍を読ませていただくことで作成する事ができました。
ありがとうございました。
なでしこのインストール(Mac)
初めに
日本語で書くことができる「なでしこ3(HTML5/JS)」という言語があることを知り、触れてみたいと思い、「なでしこ3(HTML5/JS)」の実行環境を整えてみました。
この記事では実行環境を整える手順や、つまずいた箇所を書いていきたいと思います。
環境
PC:MacBook Pro
OS:macOS Big Sur 11.1
CLT:1103.0.32.59
実行環境を整える手順
1:Homebrewをインストールする。
様々な方がHomebrewの記事を詳しく書いているので省略させていただきます。
2:Homebrewを使って、Nodebrewをインストールする。
ターミナルに
「brew install nodebrew」
と入力する。
Nodebrewのインストールでつまずいた箇所
問題点
Nodebrewのインストール中に、
Error: Your CLT does not support macOS 11.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.
Update them from Software Update in System Preferences or run:
softwareupdate --all --install --force
If that doesn't show you an update run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
訳:CLTをアップデートしてね(誤っていたらすいません)
というエラーが表示された。
解決策
エラーを解決するために
「sudo rm -rf /Library/Developer/CommandLineTools」
「sudo xcode-select --install」
とエラーに記述してあるコマンドをターミナルに入力しました。
入力を行うと、CLTの削除とインストールが始まります。
完了するとnodebrewが無事にインストールできました。
因みにCLTのバージョンは、
変更前のバージョン:1103.0.32.59
変更後のバージョン:12.3.0.0.1.1607026830
と変更されました。
確認のために
「nodebrew --version」
を入力した所、バージョンが正しく表示されました。
3:Node.jsのインストールを行う。
ターミナルに
「nodebrew install-binary stable」
と入力する。
入力するとNode.jsの安定版が手に入ります。
他にも、Node.jsの特定のバージョンや、最新版をインストールする方法があるらしいです。
Node.jsのインストールでつまずいた箇所:その1
問題点
Warning: Failed to create the file
という警告が表示されました。
解決策
解決するために
「mkdir -p ~/.nodebrew/src」
とターミナルに入力を行い、ファイルを作成しました。
再び、
「nodebrew install-binary stable」
と入力すると、Installed succesfullyと表示されたので、インストールが完了しました。
Node.jsのインストールでつまずいた箇所:その2
問題点
Node.jsのインストール後に
「node -v」
を入力し、Node.jsのバージョンを確認しようとした。
しかし、node: command not foundと表示され、バージョンが表示されませんでした。
解決策
解決するために
「nodebrew use stable」
と入力する。
上記のように入力する事で、使用するNode.jsのバージョンを決定する事ができる。
無事に「node -v」でNode.jsのバージョンが表示する事ができました。
4:なでしこをインストールする。
ターミナルで、
「npm install -g nadesiko3」
と入力する。
5:なでしこを使う。
なでしこをインストール後、ターミナルで、
「nako3edit」
と入力する。
入力後に、ブラウザ上にエディタが表示される。
無事に「こんにちは 世界」と表示することができました。
最後に
今回、初めてNode.jsや「なでしこ」の実行環境を整えました。
つまずいた箇所も多々ありましたが無事に解決できてよかったです。
参考文献
S3を使用した静的Webサイトを公開するまで
始めに
HTML+CSS+JavaScriptを使い静的なWebサイトを作成しS3で公開したので、手順を忘れないように書き残しておこうと思いこの記事を書きました。
S3とは
S3とは、Amazon Simple Storage Serviceの略称であり、高機能で耐久性が高いストレージサービスです。
S3の主な機能は、ファイルのアップロードやダウンロード、Webサーバの作成となっている。
S3でバケットを作成する手順
1.AWSマネジメントコントールからS3を探す。
3.バケットを作成のページ内の「バケット名」、「リージョン」、「ブロックパブリックアクセスのバケット設定」の欄を埋める。
「リージョン」:私は東京を選択した。
「ブロックパブリックアクセスのバケット設定」:全てのチェックを外す。
4.バケット作成のページ内の最後にある「バケットの作成」を押す。
この段階でバケットは作成される。
作成したバケットの静的ウェブホスティングの設定の手順
1.S3のコンソールから作成したバケットを選択する。
2.プロパティを選択する。
3.「プロパティ」内の「静的ウェブホスティング」の編集ボタンを押し、「有効にする」を選択する。
4.「インデックスドキュメント」と「エラードキュメント」を公開したい自身のHTMLファイルの名前を入力し、変更の保存を行う。
作成したバケットのアクセス許可の手順
1.「アクセス許可」を選択する
2.「ブロックパブリックアクセス(アクセス設定)」のチェックボックスが全て外れている事を確認する。
3.「バケットポリシー」の編集を行う。
バケットポリシーはJSONで記述するのですが、今回はAmzonさんが提供している例のJSONを使用します。
(例として提供されているバケットポリシーでは、セキュリティが緩くなってしまうので、後にバケットポリシーを書き直した方が良いと思います。)
Resourceの箇所は、公開するバケット名を入力します。
4.最後に「変更の保存」ボタンを押してアクセス許可設定は終了です。
公開するバケットにファイルをアップロードする手順
1.オブジェクトを選択する
2.「オブジェクト」内の「アップロード」ボタンを押す。
3.「アップロード」内の「ファイルを追加」ボタンを押し、公開するHTMLファイルを選択する。
4.アップロードが完了後、「プロパティ」の「静的ウェブサイトホスティング」のURLを押すと、自身が公開したHTMLファイルが閲覧できるようになっています。
最後に
今回は、HTML+CSS+JavaScriptを使った静的なWebサイトを公開したかったのでS3を使いました。今後、現在公開しているWebサイトにPHPやSQLを追加して動的なWebサイトを
作成した時に、EC2を使いたいと思います。
※誤字や脱字、誤っている内容などがありましたら、コメントをいただけると幸いです。
参考文献
- Amazon:ウェブサイトアクセスのアクセス許可の設定 - Amazon Simple Storage Service
- 図解即戦略 Amazon Web Serviceのしくみと技術がこれ1冊でしっかりわかる教科書 小笠原種高著
Route 53 ドメイン取得
始めに
Webシステムを作りたいと考え、Route53でドメインを取得しました。
Route 53とは
Route 53はDNSであり、Amazon EC2やAmazon S3などの接続点に結び付けることができる。
さらにドメイン取得も行うことができる。
DNSについてはこちらをご覧ください。
Route 53でドメイン取得する手順
2:マネジメントコントロールからRoute 53を探す。
3:Route 53のダッシュボードのドメイン登録内の「ドメイン名の入力」に欲しいドメイン名を入力する。
4:ドメイン名の使用可否の判定が表示されるので、使用可能なドメイン名であればカートに入れ、ページ下部にある続行を押す。
5:自分の個人情報を入力する
6:個人情報とドメインの自動更新の確認とメールアドレスの認証を行う。
(私は、更新を忘れてドメイン名を使えなくなるのが嫌なので自動更新にしました)
7:個人情報で登録したメールアドレスに認証メールが届くので承認する。
8:承認するとEmail address verificationというページに移動する。
9:メールでの認証が完了すると6での個人情報の確認画面の「登録者の連絡先のEメールアドレスの確認」の場所に緑色のチェックマークが付きます。
最後に注文完了ボタンを押す。
10:再びRoute 53のダッシュボードに入ると、ドメインの登録が1となっておりドメインの取得が完了する。
最後に
少し記憶があやふやなのですが、Route 53でのドメインの取得までの大まかな流れは上記の手順の通りです。