Top > MySQL

MySQL

MySQLは5.6/5.7あたりでの仕様変更が半端ないので、公式ドキュメントを確認することを強くお勧めします。

Install on MacOS X (Homebrew)

既にMySQLが入ってて全部消してやりなおしたい人は以下のようにおまじないを唱えましょう。全データ消えるので覚悟してください。

$ mysql uninstall mysql
$ rm -r /usr/local/mysql
$ rm -r /usr/local/var/mysql

ここからが本番です。まずはインストール叩く。

$ brew install mysql

デーモンとして起動させる。

$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ sudo chown root ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
$ sudo chown -R _mysql:_mysql /usr/local/var/mysql
$ sudo launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

たぶんデーモンとして起動させようとしたからだと思いますが、brew installコマンドを叩いたユーザー権限で動くんじゃなくて_mysqlというユーザーで動きます(その関係かsudoを求められる)。

$ mysql_secure_installation

なんかイイ感じにroot passwordを設定してください。

$ mysql -u root -p

さっき設定したroot passwordで入れたら終わりです。おめでとうございます。

新規database作成

CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARACTER SET = uft8mb4;

cf: http://dev.mysql.com/doc/refman/5.7/en/create-database.html

新規ユーザ作成と削除

CREATE USER IF NOT EXISTS 'username'@'localhost' IDENTIFIED BY 'password';

cf: http://dev.mysql.com/doc/refman/5.7/en/create-user.html

GRANT ALL ON dbname.* TO 'username'@'hostname';

権限付与はこれでOK。確認は以下。

show grants for 'username'@'hostname';

ユーザの削除(権限も一緒に消えるぽい)

DROP USER 'username'@'hostname';

テーブル関係

テーブル作成

CREATE TABLE IF NOT EXISTS table_name (column_name1 int comment 'hogefuga', column_name2 varchar(256) comment 'hogefuga') ENGINE = Innodb, default charset = utf8mb4, COMMENT = 'hogefuga';
  • tablen_name:テーブル名
  • column_name:カラム名

http://dev.mysql.com/doc/refman/5.7/en/create-table.html

テーブル一覧

show tables;

テーブルの詳細確認

desc tablename
show create table tablename;

ストレージエンジンについて

show table status;

で確認できる。デフォルトはMyISAMだがトランザクション非対応。

変更する場合はこう

ALTER TABLE (テーブル名) ENGINE=InnoDB

バイナリログ関係

保存期間変更

SET GLOBAL expire_logs_days=7;

7日でexpireされるようになります。

小ネタ

表示方法を変える

末尾を;ではなく\Gにする

参考


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes
Last-modified: Mon, 14 Dec 2015 17:33:46 HADT (3216d)