- 投稿日:2021-01-11T22:12:53+09:00
[My SQL] macOSでログイン、ログアウトする方法
環境
MySQLがインストールされたPC
MySQLのバージョンは5.7
MySQLにログインする方法
MySQLを起動する
ターミナルで以下を実行します。
$ brew services start mysql@5.7起動に成功すると以下のようになります。
すでに起動していた場合は再起動(restart)されます。Successfully started `mysql@5.7` (label: homebrew.mxcl.mysql@5.7)ログインする
ターミナルで以下を実行し、rootユーザーとしてログインします。
$ mysql --user=root --passwordコマンド実行後
Enter password:
と表示されるので設定したパスワードを入力します。
ログインに成功するとmysql>
と表示されます。ログアウトとMySQLの停止をする
ターミナルで以下を実行し、ログアウトします。
$ exit;
Bye
と表示されたらログアウト成功です。
次にターミナルで以下を実行し、MySQLを停止します。$ brew services stop mysql@5.7
Successfully stopped msyql@5.7
と表示されたらMySQLの停止は成功です。
- 投稿日:2021-01-11T14:14:34+09:00
Cloud9(Amazon Linux)でmysqlのバージョンアップ(5.5から5,7)
MySQLを停止する
sudo service mysqld stop
MySQLをアンインストールする
5.5系のMySQLをアンインストールする場合は以下のよう「55」になります。
sudo yum -y remove mysql-config mysql55-server mysql55-libs mysql55
MySQLをインストールする
5.7系をインストールする場合、「57」を指定します。
sudo yum -y install mysql57-server mysql57
再度バージョンを確認する
ちゃんとインストールされたかバージョンを確認します。
mysql --version
- 投稿日:2021-01-11T10:29:04+09:00
【ruby on rails + Mysql】herokuからAWSに切り替える際のデータ移行手順メモ
内容
ruby on railsで作成したアプリケーションの本番環境をherokuからAWSに移行する際のデータ移行について備忘録として書き残す。
実際には本番稼働後にサーバー環境を移すというのはリスクと手間ばかりかかって悪手だとは思うのですが、個人開発なのでお許しを・・。
環境
・ruby 2.7.1
・Rails 6.0.3.2
・mysql 5.7以下のような形でAWSインフラを構築していることを想定
heroku側:clearDB(Mysql)からデータのエクスポート
※本番環境の場合は、タイムラグによるデータ欠落等を防ぐため、一時的にサーバーを停止する等の措置が必要かと。詳しくはチームの方針に従ってください。ここではタイトル通りデータ移行の手順についてのみ記載します。
データベースURL取得
$heroku config --app アプリ名 | grep DATABASE_URL CLEARDB_DATABASE_URL: mysql://<USER_NAME>:<PASSWORD>@< HOST >/<DB_NAME>?reconnect=trueデータのエクスポート
データのエクスポートをします。おそらくしばらく時間がかかるため気長に待ちましょう。
カレントディレクトリにdump.sqlが出力されていれば成功です。
mysqldump -uUSER_NAME -pPASSWORD -h HOST -r dump.sql --single-transaction DB_NAME --skip-column-statisticsオプションの内容を軽く説明しておくと、
--single-transaction・・・ダンプ処理をトランザクションで囲む。データの整合性を保つのに有効。MyISAMテーブルが含まれるDBでは別オプションが必要らしい。
--skip-column-statistics・・・mysqldump 8以降でそれ以前 (5.7とか) のMySQLサーバに対してダンプをする際に起こるエラーを回避。詳しくは筆者もよくわからない。。
以下記事参考
https://blog.pinkumohikan.com/entry/mysqldump-disable-column-statisticsmysqldumpのよく使うオプションを書いてくれている記事もあったため、リンクを貼っておきます。
よく使うmysqldumpのオプションと使用例
https://qiita.com/ryounagaoka/items/7be0479a36c97618907fAWS側:EC2へsqlを転送
前提
・ssh接続ができている
・クライアントのssh/configは以下の場合Host myapp HostName IPAddress Port 22 IdentityFile ~/.ssh/myapp_rsa User hoge以下コマンドを叩く
scp 転送元ファイル myapp:/転送先ディレクトリ転送できない場合以下サイト等を参照
http://gallardolp570.hatenablog.com/entry/2014/11/17/205325AWS側:RDSにsqlをインポート
事前に接続先のエンドポイント、ユーザー名、パスワードを確認しておく。
mysql -h エンドポイント -u ユーザー名 -p DB名> dump.sql進捗状況を確認したい場合はパイプで繋ぎpvコマンドをつけると良き
https://qiita.com/hiroq/items/efd8c3580c9c9457c869反映されていればインポート成功です。お疲れ様でした。
見よう見まねの部分も多いため、何か誤り等あればご指摘いただけますと幸いです。参考サイト
http://kayakuguri.github.io/blog/2015/09/10/mysql-postgres-import-export/
https://photo-tea.com/p/aws-ec2-to-rds-csv/
http://gallardolp570.hatenablog.com/entry/2014/11/17/205325
https://qiita.com/hiroq/items/efd8c3580c9c9457c869
https://blog.pinkumohikan.com/entry/mysqldump-disable-column-statistics
- 投稿日:2021-01-11T06:25:19+09:00
Railsデプロイ with Docker
参考サイト
参照
Rails環境構築 with Docker
こちらでDockerを使用したRailsの環境構築までを行っております。Docker 用語とコマンド
Dockerについての用語やコマンドについてはこちらをご覧ください環境
Mac OS
docker-compose 1.27.4
heroku/7.47.7
Mysql 8.0
ruby 2.7
rails 6.1.0heroku実装
herokuログイン
terminal.rails_on_docker % heroku login heroku: Press any key to open up the browser to login or q to exit: //Enterキーでログイン rails_on_docker % heroku container:loginherokuアプリ作成
terminal.rails_on_docker % heroku create <rails-koumori> // < >内は任意の名前を指定データベース追加・設定
データベースの追加
terminal.rails_on_docker % heroku addons:create cleardb:ignite -a rails-koumori本番環境の接続先情報を環境変数に修正
database.ymlproduction: <<: *default database: <%= ENV['APP_DATABASE_DATABASE'] %> username: <%= ENV['APP_DATABASE_USERNAME'] %> password: <%= ENV['APP_DATABASE_PASSWORD'] %> host: <%= ENV['APP_DATABASE_HOST'] %>接続先情報を環境変数に設定
terminal.rails_on_docker % heroku config -a rails-koumori CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true rails_on_docker % heroku config:add APP_DATABASE='データベス名'-a rails-koumori rails_on_docker % heroku config:add APP_USERNAME='ユーザー名' -a rails-koumori rails_on_docker % heroku config:add APP_PASSWORD='パスワード' -a rails-koumori rails_on_docker % heroku config:add APP_HOST='ホスト名' -a rails-koumori rails_on_docker % heroku config -a rails-koumori //登録の確認本番環境用の記述
空のファイル作成
terminal.rails_on_docker % touch start.shstart.sh#!/bin/sh # 本番環境 if [ "${RAILS_ENV}" ="production" ] then bundle exec rails assets:precompile fi bundle exec rails s -p ${PORT:-3000} -b 0.0.0.0Dockerfileの追記
Dockerfile# ベースイメージの指定 FROM ruby:2.7 #追記 ENV RAILS_ENV=production . . . . #dockerにコピー COPY start.sh /start.sh #実行権限を付与 RUN shmod 744 /start.sh #起動時に実行 CMD ["sh","/start.sh"]本番環境に適用
terminal.rails_on_docker % heroku config:add RAILS_SERVE_STATIC_FILES="true" -a r ails-koumori //本番環境にassets:precompileを適用rails view画面実装
コントローラー作成
terminal.rails_on_docker % docker-compose exec web bundle exec rails g controller usersトップページにusers/indexを指定
routes.rbRails.application.routes.draw do get '/',to: "users#index" endコントローラーの記述
users.controller.rbclass UsersController < ApplicationController def index end endindex.html.erbファイルを作成し記述
src>app>views>users>index.html.erb<h1>Hello world!</h1>Dockerコンテナのプッシュとherokuへのリリース
Dockerイメージをビルドしコンテナにプッシュ
terminal.rails_on_docker % heroku container:push web -a rails-koumoriherokuにコンテナをリリース
terminal.rails_on_docker % heroku container:release web -a rials-koumoriherokuを起動しブラウザで確認
terminal.rails_on_docker % heroku open -a rails-koumoriまとめ
前回のRails構築から、今回でデプロイまで完了できました。