Skip to content

MySQLLink

トラブルシューティングLink

現在の接続数Link

show status like '%connect%';

最大接続数を確認Link

show global variables like 'max_connections';

起動後からの最大接続数Link

show global status like 'Max_used_connections';

ステータスリセットLink

flush status

運用Link

接続Link

mysql -u root -p -h HOSTNAME DBNAME -e'show tables;'

バージョン確認Link

select version();

現在接続しているDBLink

select database();

現在使用しているユーザLink

select current_user();

一覧Link

show databases;
show tables;
show processlist;
show status;
show global status;
show variables;
show global variables;
show table status;
show index from TABLENAME;

権限等Link

select user,host from mysql.user;
show grants for 'USER'@'HOST'
rename user 'OLDUSER'@'HOST' to 'NEWUSER'@'LOCLAHOST';
revoke all privileges, grant option from USER
flush privileges;

クエリキャッシュを無効にするLink

SET GLOBAL query_cache_size=0;
SET GLOBAL query_cache_type=0;
SHOW GLOBAL VARIABLES LIKE '%query_cache%';

# see https://qiita.com/mamy1326/items/d1548d8cf4528277172a

ユーザ一覧からユーザ権限を確認Link

mysql -u root -N -e 'select concat("SHOW GRANTS FOR `",user, "`@`",host, "`;") from mysql.user order by user,host;' > user.sql
mysql -u root -N < user.sql

# see https://qiita.com/raki/items/cfd015ac50806bbac40a

ローカル設定ファイルLink

[client]
# user dev
# password=

# user prod
# password=

[mysql]
# rehash( auto completion )
auto-rehash

# User,Host,Database
prompt=\\u@\\h:\\d>\\_

# if you want disable this option: SET SQL_SAFE_UPDATES=0;
safe-updates

メモLink

# テーブルデータの件数一覧(InnoDBでは即時性も正確性も怪しいので注意)
select table_name, table_rows from information_schema.TABLES where table_schema = 'DB名';

# slave 停止(Slave_SQL_Running: No)
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;