vagrant で全権限
CREATE USER vagrant;SET PASSWORD FOR vagrant@"%"=PASSWORD('vagrant');GRANT ALL PRIVILEGES ON *.* TO 'vagrant'@'%';FLUSH PRIVILEGES; |
show variables like "chara%"; |
user作成。
CREATE USER [user];SET PASSWORD FOR [user]@"%"=PASSWORD('[pass]'); |
パスワード変更。
SET PASSWORD FOR [user]@"%"=PASSWORD('[pass]'); |
user削除。
DROP USER user; |
登録されているuser確認。
use mysql;SELECT user, host FROM user; |
rootユーザのアクセス許可hostに127.0.0.1を追加する
use mysql;grant all privileges on *.* to root@"127.0.0.1" identified by 'root_pass' with grant option;FLUSH PRIVILEGES; |
権限表示
SHOW GRANTS for 'hoge'@'%'; |
全ての権限を付ける。
GRANT ALL PRIVILEGES ON `DB名`.テーブル TO 'ユーザ名'@'ホスト名'; |
SELECT,UPDATE,INSERT,DELETEの権限を付ける。
GRANT SELECT,UPDATE,INSERT,DELETE ON `DB名`.テーブル TO 'ユーザ名'@'ホスト名'; |
権限の反映
FLUSH PRIVILEGES; |
テーブル内のデータ量を調べる
|
1
2
3
4
5
6
7
8
9
10
|
use databaseName;select table_name, engine, table_rows as tbl_rows,avg_row_length as rlen,floor((data_length+index_length)/1024/1024) as allMB,floor((data_length)/1024/1024) as dMB,floor((index_length)/1024/1024) as iMBfrom information_schema.tableswhere table_schema=database()order by (data_length+index_length) desc; |
テーブルデータを消す
MySQLにて大量のデータのDELETEが重い。
過半数をDELETEするような場合には、必要な物だけを入れた別のテーブル作成するという方法もあります。
1. nodeテーブルの構造(インデックス含む)を別名で複製
CREATE TABLE node_tmp LIKE node;
2. 空のnode_tmpに必要なデータを流し込む
INSERT INTO node_tmp ~~
3. ダウンタイムがないよう、1クエリでテーブルの差し替えを行う
RENAME TABLE node TO node_old, node_tmp TO node;
4. 不要となったテーブルを削除
DROP TABLE node_old
mysql> select ip, count(ip) from iptable WHERE time>=DATE_SUB(CURRENT_DATE(),interval 0 day) group by ip ORDER BY count(ip) DESC limit 5; mysql> select ip, count(ip) from iptable WHERE time>=DATE_SUB(CURRENT_DATE(),interval 1 day) and time<=DATE_SUB(CURRENT_DATE(),interval 0 day) group by ip ORDER BY count(ip) DESC limit 5; |
足跡
前日のselect count(*) from iptable WHERE time>=DATE_SUB(CURRENT_DATE(),interval 1 day) and time<=DATE_SUB(CURRENT_DATE(),interval 0 day);今日のselect * from iptable WHERE time>=DATE_SUB(CURRENT_DATE(),interval 0 day); |