20201014のMySQLに関する記事は4件です。

MySQL環境の自分用導入の備忘録

説明

MySQLをbrewで導入し、補完を効かせたいので「mycli」も導入。
コマンド省略のためエイリアスの設定までを備忘録として残しておきます。

注意

ユーザー名をnaginxとしてコード内に記述しています。
ユーザー名を各自で置き換えてご利用ください。

$はターミナル内で打つコマンド、
mysql>はMySQL内で打つコマンドです。

各項目の詳細は参考の項目に記載しています。

環境

仕様シェル zsh
macOS Catalina ver10.15.6
brew 2.5.6
mysql 8.0.21
mycli 1.22.2

手順

  • MySQLの導入
  • mycliの導入
  • ユーザーの作成
  • エイリアスの設定

MySQLの導入

$ brew install mysql
// MySQLがスタートできることを確認
$ mysql.server start

// MySQLに入れることを確認
$ mysql -u root -p
// MySQL内に入れたら終了して抜ける
mysql> exit

mycliの導入

$ brew install mycli
// mycliコマンドでMySQLにrootで入る
$ mycli -u root

ユーザーの作成

mycliでMySQLに入れたら以下手順

// ユーザーを表示して確認
mysql> SELECT host, user FROM mysql.user

// 事前にパスワードの文字数制限を緩和
mysql> set global validate_password.policy = "LOW";

// MySQLのlocalhostにユーザーを作成
mysql> CREATE user 'naginx'@'localhost' identified by 'password1234'

// 新規作成できてるかユーザーを表示して確認
mysql> SELECT host, user FROM mysql.user

デフォルトのパスワード字数制限が面倒なので緩和しています。

エイリアスの設定

.zshrc内に追記して反映

# mysql系
alias myroot='mycli -u root'
alias mynaginx='mycli -u naginx'

参考サイト

Mac へ MySQL を Homebrew でインストールする手順 - Qiita
mysqlのクライアントmycliが便利だった。 - Qiita
MySQLにパスワードポリシーで怒られるときの回避策 - 外部ブログ

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MySQL導入の備忘録

説明

MySQLをbrewで導入し、補完を効かせたいので「mycli」も導入。
コマンド省略のためエイリアスの設定までを備忘録として残しておきます。

注意

ユーザー名をnaginxとしてコード内に記述しています。
ユーザー名を各自で置き換えてご利用ください。

$はターミナル内で打つコマンド、
mysql>はMySQL内で打つコマンドです。

各項目の詳細は参考の項目に記載しています。

環境

仕様シェル zsh
macOS Catalina ver10.15.6
brew 2.5.6
mysql 8.0.21
mycli 1.22.2

手順

  • MySQLの導入
  • mycliの導入
  • ユーザーの作成
  • エイリアスの設定

MySQLの導入

$ brew install mysql
// MySQLがスタートできることを確認
$ mysql.server start

// MySQLに入れることを確認
$ mysql -u root -p
// MySQL内に入れたら終了して抜ける
mysql> exit

mycliの導入

$ brew install mycli
// mycliコマンドでMySQLにrootで入る
$ mycli -u root

ユーザーの作成

mycliでMySQLに入れたら以下手順

// ユーザーを表示して確認
mysql> SELECT host, user FROM mysql.user

// 事前にパスワードの文字数制限を緩和
mysql> set global validate_password.policy = "LOW";

// MySQLのlocalhostにユーザーを作成
mysql> CREATE user 'naginx'@'localhost' identified by 'password1234'

// 新規作成できてるかユーザーを表示して確認
mysql> SELECT host, user FROM mysql.user

// 設定反映のおまじない
mysql> FLUSH PRIVILEGES

デフォルトのパスワード字数制限が面倒なので緩和しています。

エイリアスの設定

.zshrc内に追記して反映

# mysql系
alias myroot='mycli -u root'
alias mynaginx='mycli -u naginx'

mycliの設定を変更

バックグラウンドが黒だと青色が認識しづらいので変更
~/.myclirc

syntax_style = rrt

参考サイト

Mac へ MySQL を Homebrew でインストールする手順 - Qiita
mysqlのクライアントmycliが便利だった。 - Qiita
MySQLにパスワードポリシーで怒られるときの回避策 - 外部ブログ

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Docker, java, vscodeの開発環境を構築

前回の記事

初心者がdocker for macをインストールしてphp7.0の動作環境を用意する

この記事

前回はphp7.0の動作環境を用意しました。
今回はjavaを用意してみます。
目標はdocker + java + vscode。

参考記事

Visual Studio CodeのRemote DevelopmentとDockerで快適な開発環境をゲット

Remote Development

Remote Developmentの拡張機能をインストール

Microsoftが公開してるテストプロジェクトのクローンを用意

git
git clone https://github.com/Microsoft/vscode-remote-try-java

テストプロジェクトを開く

Visual Studio Codeの左下の緑のボタンをクリック>Remote-Containers: Open Folder in Container>gitのクローンフォルダを選択

dockerでコンテナが起動しているか確認

スクリーンショット 2020-10-14 8.17.54.png

ビルドしてプロジェクトが動作するか確認

スクリーンショット 2020-10-14 8.20.36.png

まとめ

前回の記事の方法よりRemote Developmentを使用するのが簡単ですね。
javaのバージョンも選択できるみたい。
ありがとう、Microsoft!!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MySql。テーブルのデータサイズが指定値前後になるようレコード削除する方法

大量レコードの場合での問題点
DELETEをしたあとテーブルデータ容量はそのままで、小さくならない。
小さくするならOPTIMIZE実行が必要だが、レコード大量だと時間がかかる。

DELETEで削除→OPTIMIZEでサイズ取得可の状態へ→データ大きければまたDELETE…
このような処理は時間がかかるOPTIMIZEを何回も実行するので、時間がかかりすぎる。

解決方法
ちょうど目的のデータ容量になるレコード件数を把握し、その件数になるように消す。例えば目的となる件数6万件、現在件数10万件なら「10万-6万=4万」よって4万件のレコードを消す。
そして6万件になったらOPTIMIZEで容量を適正にする。

このやり方だと実質的な時間まで短縮できた。

目的のテーブルデータサイズとなる件数を把握するまでの手順
TRUCATEでテーブルを空にする。
目的のテータサイズになるまでレコードを追加していく。
ちょうどのサイズになったら件数をメモする。
実際に実験して最後にOPTIMIZEして容量を見るとデータ容量が少し大きくなっていた。目的1.2GBが実質1.4GBになっていた。

余裕目に件数を少なめにすれば解決できた。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む