- 投稿日:2020-04-05T22:18:30+09:00
Mysqlよく使うコマンド
Mysqlのよく使うコマンドについてまとめてみた。
ログイン
mysql> mysql -uroot;ログアウト
mysql>exit;
データベース作成
mysql>CREATE DATABASE データベース名;
データベース確認
mysql>show databases;
データベース指定
mysql>use データベース名;
データベース削除
mysql>drop database データベース名;
テーブル作成
mysql>create table テーブル名(カラム);テーブル確認
mysql>show tables;
テーブルの構造確認
mysql>DESC テーブル名;
テーブル削除
mysql>drop table テーブル名;
データ確認
mysql>select * from デーブル名;テーブル作成、更新、削除など、まだまだたくさんありますが、とりあえず良く使うやつです。
自分自身もまだまだ使いこなせていませんが、基本を覚えていきたいです。
- 投稿日:2020-04-05T11:57:49+09:00
Vagantを使ってLaravelを動かす
はじめに
初学者が最初に躓きやすいと言われる環境構築ですが手順をしっかり追い、そこで何が行われているを簡単にイメージすることが大事だと痛感しました。
そこで私的メモ程度に構築手順を書き記します。
あくまで私の環境ではこの手順で動くものであって、全員がこれで動くとは限らないので参考程度でお願いいたします。
また初学者であるがゆえに問題点があるかと思います。修正箇所やご指摘いただけると幸いでございます。この記事でやること
- vagarantを使ってcentOS環境の構築。
- その環境下でPHP、Laravel、MySQLを導入。
- Nginxを立ち上げ、プロジェクトにログイン機能を実装する。
今回使うもの
- Vagrant
- vbguest
- CentOS7
- Nginx
- PHP7.3
- Laravel6.x
- MySQL5.7
上記に接続できる環境があることを前提に手順を追っていきます。
環境を構築してゆく
作業ディレクトリの準備
まずは仮想環境に接続できる作業スペースを作成していきます。
ターミナル上でLinuxコマンドで作業ディレクトリを作成します。
今回は仮にvagrant_lessonとします。
mkdir vagrant_lesson cd vagrant_lessonディレクトリ移動後に使用するboxを指定してあげましょう。
今回はcentOS7を使用します。
vagrant init centos/7 # 実行後以下のようになれば成功 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.vagrantfileの編集
vagrant_lessonのVagrantfileをエディタで開き、以下記述に変更します。
1 コメントアウトを外す
config.vm.network "forwarded_port", guest: 80, host: 8080 # 今回ip番号は以下を使用します config.vm.network "private_network", ip: "192.168.33.15"2 記述を適当な箇所に追加
config.vm.synced_folder "./", "/vagrant", type:"virtualbox"vagrantの起動
# Vagrantfileがあるディレクトリにて以下コマンドの実行 vagrant up
macbook air だとここあたりからpcがうなりだすかもしれませんがゆっくり見守ってあげましょう。
ちなみに起動や停止などのコマンドはこちらを参考
【まとめ】Vagrant コマンド一覧仮想環境に接続する
ssh接続で環境に接続します。
今回作業するディレクトリ内で以下コマンドを実行するだけです。
vagrant ssh # 実行後以下のようになれば成功 [vagrant@localhost ~]$パッケージの導入
開発を使用する上で必要なパッケージをインストールします。
仮想環境につながった状態で以下コマンドを実行します。
[vagrant@localhost ~]$ sudo yum -y groupinstall "development tools"これで作業するディレクトリの下準備が完了しました。
続いて実際に環境構築していきます。
環境構築~導入編~
このセクションでは環境構築に必要なものを仮想環境にインストールしていきます。
PHP7.3の導入
centOSのデフォルトのPHPのバージョンは5.4.16です。
一方で今回使用するPHPのバージョン7.3なので、それがインストール出来るようにcentOSの設定を変更します。変更といってもコマンドを入力するだけです。
# EPELのリポジトリを追加 sudo yum -y install epel-release wget # インストール先を最新の状態に更新します sudo wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm # REMIのリポジトリを追加 sudo rpm -Uvh remi-release-7.rpm # php7.3をインストール sudo yum -y install --enablerepo=remi-php73 php php-pdo php-mysqlnd php-mbstring php-xml php-fpm php-common php-devel # バージョン確認 php -v # バージョンが7.3.x であれば成功composerの導入
次にLaravelとそれに必要なcomposerをインストールしていきます。
まずはcomposerを導入します。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');" # グローバルコマンドを使用するためにfileを移動 sudo mv composer.phar /usr/local/bin/composer # バージョン確認 composer -vバージョンが確認できれば成功です。
Laravel6.xの導入
ではLaravelのバージョン6.xを導入していきます。
準備としてLaravelを導入するディレクトリに移動しましょう。
# 移動して cd /vagrant # Laravel6.0をインストール composer create-project laravel/laravel=6.0 --prefer-dist laravel_sample # 移動して cd laravel_sample/ # バージョン確認 php artisan --version # 6.xになっていれば成功です。Nginxの導入
最新のバージョンをインストールするため以下コマンドでファイルを編集します。
sudo vi /etc/yum.repos.d/nginx.repo
下記内容を追記します。
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/ gpgcheck=0 enabled=1入力方法は
i
でインサートモードにし、編集後esc
でインサートを終了し:wq
で保存&終了します。間違ってしまったら
:q!
しましょう。ではインストールしましょう。
# laravel_sampleでコマンド実行 sudo yum install -y nginx # バージョン確認 nginx -vインストール成功したらNginxを起動してみましょう。
起動コマンドは以下のとおりです。
sudo systemctl start nginx
Nginxのwelcome画面が表示されれば成功です。
環境構築~Laravel表示編~
では、今表示されているNginxの画面からLaravelのホーム画面になるように設定していきます。
Nginxの設定ファイルを編集します。
sudo vi /etc/nginx/conf.d/default.conf
server { listen 80; server_name 192.168.33.15; # Vagranfileでコメントを外した箇所のipアドレスを記述してください root /vagrant/laravel_sample/public; # 追記 index index.html index.htm index.php; # 追記 #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { #root /usr/share/nginx/html; # コメントアウト #index index.html index.htm; # コメントアウト try_files $uri $uri/ /index.php$is_args$args; # 追記 } # 省略 # 以下の該当箇所のコメントアウトを指定の箇所外し、変更する場所もあるので変更を加える location ~ \.php$ { # root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root/$fastcgi_script_name; # $fastcgi_script_name以前を /$document_root/に変更 include fastcgi_params; }続いてphpインストール時にインストールしたphp-fpmの設定fileを編集していきます。
sudo vi /etc/php-fpm.d/www.conf
;24行目近辺 user = apache ↓ 変更 user = vagrant group = apache ↓ 変更 group = vagrant編集が完了したらNginxを再起動してphp-fpmを起動しましょう。
# Nginx再起動 sudo systemctl restart nginx # php-fpm起動 sudo systemctl start php-fpmForbidden という403エラーが出た場合
sudo vi /etc/selinux/config
この記述を変更してくだい。
# 変更前 SELINUX=enforcing # 変更後 SELINUX=disabled保存を反映させるためにvagrantを再起動しましょう
exit #ログアウト vagrant reload #再起動再起動後、ssh接続しましょう。
vagrant ssh接続が完了したらNginxを再起動してphp-fpmを起動しましょう。
# Nginx再起動 sudo systemctl restart nginx # php-fpm起動 sudo systemctl start php-fpmLaravelのhomeが表示されたらエラ−解決です。
環境構築~DBに接続編~
mysqlの導入
rpmにリポジトリを追加しインストールします。
sudo wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm sudo rpm -Uvh mysql57-community-release-el7-7.noarch.rpm # インストール sudo yum install -y mysql-community-server # バージョン確認 mysql --version #バージョンが確認できたら成功ですmysqlに接続
sudo systemctl start mysqld sudo cat /var/log/mysqld.log | grep 'temporary password' #以下表示される。文末がパスになるのでコピーする 2017-01-01T00:00:00.000000Z 1 [Note] A temporary password is generated for root@localhost: ******** mysql -u root -p #パスワードが求められるので先程コピーしたものを入力 Enter password: ********接続後パスワードを変えます。
-- パスワードはダブルクオーテーションで囲む mysql > set password = "新たなpassword(必ず大文字小文字の英数字 + 記号かつ8文字以上)";DBを作成
最後に実際に使用するDBを作成しましょう。
mysql > create database DBの名前; -- 以下表記で成功 Query OK, 1 row affected (0.00 sec)作成したプロジェクトに登録・ログイン機能を実装してゆく
仮想環境に繋いだまま、作成した
laravel_sample
に移動しましょう。移動後、以下コマンドを実行するだけでLaravelホーム画面に登録機能とログイン機能が実装できます。
composer require laravel/ui 1.* php artisan ui vue --auth # 以下が表示されれば成功 Vue scaffolding installed successfully. Please run "npm install && npm run dev" to compile your fresh scaffolding. Authentication scaffolding generated successfully.先程設定した
http://192.168.33.15/
を開きし、右上にregisterとloginの項目があれば成功です。さいごに
環境構築と言われ難しいイメージを感じたかもしれませんが、何がどの役割を持っているかイメージできれば割と理解しやすいかと思います。
ただ私も6割程度の理解ですのでこれからこの辺りの知識は深める必要があると感じました。参考サイト
- 投稿日:2020-04-05T11:55:06+09:00
[memo] mysql の socketの場所を探すコマンド
- 投稿日:2020-04-05T11:19:09+09:00
DB操作を楽にするためにdbcliをインストールする
はじめに
データベースを操作するときにはいろいろなツールがあると思います。
特にGUIツールは便利ですね。
ただコマンドラインで簡単にチェックしたいと思うときがると思いますが、そんな時に便利なdbcliを紹介したいと思います。
dbcliは自動補完などでき大変便利です。
Windows、Mac、Linux全て対応しています。※詳細は下記確認お願いします。
MySQL:mycli
PostgreSQL:pgcli
SQLite3:litecliインストールする
※pythonのパッケージインストールしていれば下記いづれかのコマンドで完了します。
command$ sudo pip install mycli $ sudo easy_install mycli通常の場合は以下のコマンドを実行します。
command//macOS $ brew install mycli Linux: $ sudo apt-get update $ sudo apt-get install mycliDBに接続する
$ phpcil -h (DB_HOST) -U (DB_USERNAME) (DB_CONNTCTION)おわりに
そこから先は通常のDB操作と同じなので簡単にためしていけると思います。