MySQL

SQL_CALC_FOUND_ROWS

SQL_CALC_FOUND_ROWS は, FOUND_ROWS と組み合わせることでLIMITを除き実際は何件なのかを表示してくれる. SELECT SQL_CALC_FOUND_ROWS `table`.`column`, `table2`.`column`, `table2`.`column2` FROM (`table`) JOIN `table2` limit 100; // この時点で実…

HomebrewでMySQL56をインストール・設定する

環境 MacOSX 10.11 Homebrew 0.9.5 (git revision fbd9; last commit 2016-01-22) MySQLをダウングレードさせて再度インストールし直す場合 % brew uninstall mysql57 % sudo rm -rf /usr/local/var/mysql インストール // バージョンを指定してインストール…

Homebrewで入れたMySQLが起動しない.

環境 MacOSX 10.11 MySQL Ver 14.14 Distrib 5.7.10, for osx10.11 (x86_64) using EditLine wrapper Homebrew 0.9.5 (git revision fbd9; last commit 2016-01-22) 事象 エラーNo. 1 : socketでエラー&PIDが見つからないと怒られる. % mysql -u root -p En…

GROUP BY まとめ(+HAVING)

環境 Server version: 5.6.27 Source distribution 文法 グループごとに分けてから抽出 SELECT 計算/集計したカラム FROM テーブル GROUP BY グループ化するカラム HAVING 条件 抽出してからグループに分ける SELECT 計算/集計したカラム FROM テーブル WHER…

SQLインジェクションの対策

SQLインジェクションの対策 SQLインジェクションによるクレジットカード情報漏洩により、3131万の損害が認定された裁判が過去にある。SQLインジェクションの被害平均は、4800万 ~ 1億円にも上る。 なぜ発生するのか? エスケープ、プレースホルダを使えと言わ…

MySQL 文法 まとめ(更新中)

最終更新: 2016/02/25 環境 Server version: 5.6.27 Source distribution データ型の説明 数値型 numeric value type INT -2147483648 ~ 2147483647 (case of no sign 0 ~ 4294967295) TINYINT -128 ~ 127 (case of no sign 0 ~ 255) SMALLINT -32768 ~ 3276…

Update (sync) local database scheme with MySQLWorkbench

If you have .mwb file, you open it from MySQLWorkbench and command + shift + y. Then you tap continue button. After finish sync your local, when you close MySQLWorkbench, do not save any changes.

MySQLへ接続ができない&権限エラーの対処 Macports

Environment Mac OS X MacPorts 2.3.3 PHP 5.4.41 MySQL Server version: 5.6.24 Phenomenon MySQLへ接続しようとしても、SocketがあるのにSocketがないと怒られる // 接続を試みる % mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect t…

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission deniedの部分を直します。 % sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db Password: shell-init: error retrieving current direc…

バックアップ MySQL dump

testデータベースをバックアップ ( UTF-8 ) $ mysqldump --default-character-set=utf8 -u root -p test > ~/Desktop/test_dump.sql すべてのデータベースをバックアップ $ mysqldump -u root -x --all-databases > dump.sql バックアップを復元 $ mysql -u …

my.cnfを無視してしまう

Warning: World-writable config file '/opt/local/etc/mysql56/my.cnf' is ignored mysql56/my.cnf のpermissionを変更します。 % sudo chmod 660 /opt/local/etc/mysql56/my.cnf % mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your M…

Fatal error: Class 'Locale' not found in

Fatal error: Class 'Locale' not found in こちらのエラーはPHPの拡張関数、Localが利用できないため表示されます。 % sudo port install php55-intl php-intl をインストールします。 その後、php.iniの以下の行をコメントアウトします。 % sudo vi /opt/l…

パスワードなしでMySQLへログインする

% sudo launchctl start org.macports.mysql56 --skip-grant-tables // または % sudo launchctl start mysql56 --skip-grant-tables // または % mysqld_safe --skip-grant-tables &

MySQLのサーバー起動・停止 (Macports)

開始 % sudo /opt/local/share/mysql56/support-files/mysql.server start % sudo port load mysql56-server % sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql56-server.plist 停止 % sudo /opt/local/share/mysql56/support-files/mysq…

MySQL パスワード変更

// PASSWORD関数で暗号化 $ mysql -u root -p mysql> update mysql.user set password=PASSWORD('root') where user='root'; Query OK, 0 rows affected (0.03 sec) Rows matched: 1 Changed: 0 Warnings: 0 // 設定したパスワードを反映 mysql> flush privi…

Connection error of phpMyAdmin ( MacPorts )

If you have below error, you should see 1~3 step. You don't have permission to access /phpmyadmin/ on this server. 1. If you do not install phpMyAdmin yet, install by below command. % sudo port install phpmyadmin +php54[55][56] 2. Does you…

phpMyAdminのインストール <Macports>

$ sudo port install phpmyadmin $ sudo vi /etc/hosts 127.0.0.1 phpmyadmin $ sudo vi /opt/local/apache2/conf/httpd.conf NameVirtualHost *:80 <VirtualHost *:80> ServerName phpmyadmin DocumentRoot /opt/local/www/phpmyadmin <Directory "/opt/local/www/phpmyadmin"> Order deny,allow Allow from all </directory></virtualhost>

mysqld.sockがない場合

mysqld.sockがない場合、以下のコマンドで作成できます。 $ sudo touch /opt/local/var/run/mysql56/mysqld.sock

データ型一覧

データ型一覧 TINYINT -128から127 SMALLINT -32768から32767 MEDIUMINT -8388608から8388607 INT -2147483648から2147483647 BIGINT -9223372036854775808から9223372036854775807 FLOAT -3.402823466E+38 から -1.175494351E-38 1.175494351E-38 から 3.40…

you have specified an invalid database connection group

これはdatabase.phpにおいて、$active_group = 'default';部分が誤っている可能性があります。 masterなどへの変更が必要か、確認してみて下さい。 データベースに接続(インスタンス生成)する際には、どのデータベースに接続するかを指定する必要があります…

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql55/mysqld.sock' (38)

% mysql -u root -p % ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql55/mysqld.sock' (38) mysqld.sockはある、が繋がらない。 % sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db Instal…

Sequel Proの接続

ローカル接続 ssh接続は後ほど追記します。

my.cnf

MySQLの設定ファイル % sudo vi /opt/local/etc/mysql55/my.cnf # Use default MacPorts settings # !include /opt/local/etc/mysql55/macports-default.cnf [mysqld] max_allowed_packet = 16M + character-set-server=utf8 + [mysql] + default-character-…

mysql_secure_installationの設定まとめ

最終更新日: 2015/11/08 環境 MacPorts 2.3.2 MacOS 10.10 MySQL 5.5 Homebrew 0.9.5 MacOSX 10.11 MySQL 5.6.27 MySQLの初期化 MacPorts % sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db Installing MySQL system tables... OK Filling help…

MacPortsからHomebrewへの移行&環境構築(Ruby&Apache&MySQL)

2015/11/09 更新 環境 MacOSX 10.11 MacPorts 2.3.4 Homebrew 0.9.5 (git revision 9942; last commit 2015-11-07) Ruby 2.2.3 bundler 1.10.6 Apache/2.4.17 (Unix) MySQL 5.7.9 なぜHomebrewにしたか 参考にしたサイトがほとんどと言っていいほどHomebrew…

port検索 mysql

mysql> show variables like 'port'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 0 | +---------------+-------+ 1 row in set (0.00 sec)

mysqlの任意ユーザーのパスワード変更

mysql> set password for ユーザー名@'ホスト名' = password('パスワード'); mysqlへログイン後、以下を実行します。 mysql> set password for root@'localhost' = password('aaaaaaaaaaaaaa');

= nullと is null

nullを指定する際、イコールで指定しても更新されません。 カラム = null mysql> update details set title = "aaa" where deleted_at = null; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0 //実行はできるが、アップデー…

【MySQLWorkbench】既存のDBからER図を起こし、mwbファイルも作成する

既存のDBからER図(Entity Relationship Diagram)をMySQLWorkbenchで作成する。 (新規ER図はMySQL Model > Add Diagramから作成できる。) 前提:すでにローカルのDBとMySQLWorkbenchが接続されていること メニュー メニュー > Databese > Reverse Enginee…

正規化

第一正規化:1つのテーブルで同じカラムが重複しないようにする 関数従属:主キーに他のカラムが紐付いている状態 第二正規化:部分関数従属するカラムを分離する 部分関数従属:あるカラムが、そのテーブルの一部のキーだけに紐付いている状態 第三正規化:…