MySQL ÁàºîTips †
- MySQL ÁàºîTips
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü
- ¥æ¡¼¥¶ºîÀ®¡ÊÀܳ¸µÌµÀ©¸Â¡Ë
- ¥æ¡¼¥¶ºï½ü
- ¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹
- grant¥³¥Þ¥ó¥É¤Î°ú¿ô
- root¥æ¡¼¥¶¤Ë¥Õ¥ë¥¢¥¯¥»¥¹¸¢¸Â¤òÉÕÍ¿¤¹¤ë
- database¤òɽ¼¨
- ¥æ¡¼¥¶¡¦¥Û¥¹¥È°ìÍ÷¤òɽ¼¨
- ¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤òɽ¼¨
- ¥Æ¡¼¥Ö¥ëÆâ¤Î¥ì¥³¡¼¥É·ï¿ô¤òɽ¼¨
- ¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤ò¾Ãµî
- ¥Æ¡¼¥Ö¥ë¤ÎÇË´þ
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÆÃÄê¤ÎTable¡Ë
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÆÃÄê¤ÎDB¡Ë
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÁ´¤Æ¤ÎDB¡Ë
- ¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¥¢
- Ê£¿ô¤Î¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò°ì³ç¥ê¥¹¥È¥¢
- ʸ»ú¥³¡¼¥É¤Î³Îǧ
- ¥æ¡¼¥¶¤Î°ìÍ÷¤òɽ¼¨
- ¥Æ¡¼¥Ö¥ë¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë
- ¥Æ¡¼¥Ö¥ë¤Î¥¹¥Æ¡¼¥¿¥¹³Îǧ
- DB¤ÎÊÑ´¹
- DB¤ÎÍÆÎ̤ò³Îǧ¤¹¤ë
- SQL¥Õ¥¡¥¤¥ë¤«¤éSQL¤ò¼Â¹Ô¤¹¤ë
- ¥Æ¡¼¥Ö¥ë¤ÎÇË»¥Á¥§¥Ã¥¯
- ¥Æ¡¼¥Ö¥ë¤ÎÇË»½¤Éü
- ¥·¥§¥ë¾å¤«¤éSQL¤òȯ¹Ô
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¥¤¥º¤òÄ´¤Ù¤ë
- ¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤ò¾Ã¤¹
- ³°Éô¥¡¼À©Ìó¤Î²ò½ü
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ® †
mysql> create database [DATABASE NAME];
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü †
mysql> drop database [DATABASE NAME];
¥æ¡¼¥¶ºîÀ®¡ÊÀܳ¸µÌµÀ©¸Â¡Ë †
mysql> GRANT ALL PRIVILEGES ON [DATABASE].* TO [USER]@'%' IDENTIFIED BY '[PASSWORD]';
¥æ¡¼¥¶ºï½ü †
mysql> DELETE FROM mysql.user WHERE user='[USER]' and host='[HOST]'; mysql> FLUSH PRIVILEGES;
¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹ †
mysql> SET PASSWORD FOR [USER]@[HOST]=PASSWORD('[PASSWORD]');
grant¥³¥Þ¥ó¥É¤Î°ú¿ô †
Ggrant all privileges on [DATABASE].* to [USER]@[HOST] identified by '[PASSWORD]';
root¥æ¡¼¥¶¤Ë¥Õ¥ë¥¢¥¯¥»¥¹¸¢¸Â¤òÉÕÍ¿¤¹¤ë †
mysql> GRANT all privileges ON *.* TO root with grant option;
database¤òɽ¼¨ †
mysql> show databases;
¥æ¡¼¥¶¡¦¥Û¥¹¥È°ìÍ÷¤òɽ¼¨ †
mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select Host,User from user;
¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤òɽ¼¨ †
- Á´·ï¤òɽ¼¨
select * from [TABLE NAME];
- ËöÈø¤Î1¹Ô¤Î¤ß¤òɽ¼¨
select * from [TABLE NAME] limit 1;
¥Æ¡¼¥Ö¥ëÆâ¤Î¥ì¥³¡¼¥É·ï¿ô¤òɽ¼¨ †
select count(*) from [TABLE NAME]
¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤ò¾Ãµî †
truncate table [TABLE NAME];
¥Æ¡¼¥Ö¥ë¤ÎÇË´þ †
mysql> drop table [TABLE NAME];
¥Æ¡¼¥Ö¥ë¤ò¤Þ¤È¤á¤ÆÇË´þ¤¹¤ë¾ì¹ç¤Ï²¼µ¤ÎÍͤʥꥹ¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¥ê¥À¥¤¥ì¥¯¥È¤Ç¥ê¥¹¥È¤òÆɤ߹þ¤ó¤Ç°ì³çºï½ü¤¹¤ë¡£
- ¥ê¥¹¥È(droptable.sql)
drop table [TABLE 1]; drop table [TABLE 2]; drop table [TABLE 3]; drop table [TABLE 4];
- ¼Â¹Ô
mysql -u [USER NAME] -p -h [HOST NAME] [DATABASE NAME] < droptable.sql
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÆÃÄê¤ÎTable¡Ë †
mysqldump -u [USER] --password=[PASSWORD] [DATABASE NAME] [TABLE NAME] [TABLE NAME] ... > [½ÐÎÏÀè¥Õ¥¡¥¤¥ë̾]
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÆÃÄê¤ÎDB¡Ë †
mysqldump -u [USER] --password=[PASSWORD] [DATABASE NAME] > [½ÐÎÏÀè¥Õ¥¡¥¤¥ë̾]
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥À¥ó¥×ºîÀ®¡ÊÁ´¤Æ¤ÎDB¡Ë †
mysqldump -u [USER] --password=[PASSWORD] --all-databases > [½ÐÎÏÀè¥Õ¥¡¥¤¥ë̾]
¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¥¢ †
mysql -u[USER] -p[PASSWORD] [DATABASE] < ¥À¥ó¥×¤·¤¿¥Õ¥¡¥¤¥ë
¤â¤·¤¯¤Ï
cat ¥À¥ó¥×¤·¤¿¥Õ¥¡¥¤¥ë | mysql -u[USER] -p[PASSWORD] [DATABASE]
°µ½Ì(gzip)¥Õ¥¡¥¤¥ë¤«¤é¥ê¥¹¥È¥¢¤¹¤ë¾ì¹ç
zcat ¥À¥ó¥×¤·¤¿¥Õ¥¡¥¤¥ë.gz | mysql -u[USER] -p[PASSWORD] [DATABASE]
Ê£¿ô¤Î¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò°ì³ç¥ê¥¹¥È¥¢ †
Ê£¿ô¤Î¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ò¤Þ¤È¤á¤Æ¥ê¥¹¥È¥¢¤¹¤ë¾ì¹ç¤Ï¡¢¥À¥ó¥×¥Õ¥¡¥¤¥ë¤ÎÊݴɥǥ£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¸å¤Ë²¼µ¤ò¼Â¹Ô¤¹¤ë¡£
cat *.dmp | mysql -u [USER NAME] -p -h [HOST NAME] [DATABASE]
ʸ»ú¥³¡¼¥É¤Î³Îǧ †
¥¥ã¥é¥»¥Ã¥È´ØÏ¢¤Î¥·¥¹¥Æ¥àÊÑ¿ô¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢mysql¥¯¥é¥¤¥¢¥ó¥È¥³¥Þ¥ó¥É¤òµ¯Æ°¤·¡¢¥¥ã¥é¥»¥Ã¥È¤Î´Ä¶ÊÑ¿ô¤òɽ¼¨¤µ¤»¤ë¡£
$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.0.26 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
¥¥ã¥é¥»¥Ã¥È¤Î´Ä¶ÊÑ¿ô¤Ï²¼µ¤Ëɽ¼¨¤µ¤»¤ë
SHOW VARIABLES LIKE 'character\_set\_%';
²¼µ¤ÎÍͤÊɽ¼¨·ë²Ì¤È¤Ê¤ë
mysql> SHOW VARIABLES LIKE 'character\_set\_%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+--------+ 7 rows in set (0.01 sec)
¥æ¡¼¥¶¤Î°ìÍ÷¤òɽ¼¨ †
ºîÀ®ºÑ¤ß¥æ¡¼¥¶¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¤Ë¤Ï²¼µ¤ò¼Â¹Ô¤¹¤ë¡£
mysql> use mysql; Database changed mysql> select user,host from user; +--------+-----------+ | user | host | +--------+-----------+ | mtuser | % | | mysql | % | | root | % | | | localhost | | root | localhost | | | mysql5 | | root | mysql5 | +--------+-----------+ 7 rows in set (0.00 sec)
¥Æ¡¼¥Ö¥ë¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë †
DBÆâ¤Î¥Æ¡¼¥Ö¥ë°ìÍ÷¤òɽ¼¨¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
use [DB NAME] show tables;
¥Æ¡¼¥Ö¥ë¤Î¥¹¥Æ¡¼¥¿¥¹³Îǧ †
¥Æ¡¼¥Ö¥ë¤Î¥¹¥Æ¡¼¥¿¥¹¤ò³Îǧ¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
»ÈÍѤ·¤Æ¤¤¤ëDB¥¨¥ó¥¸¥ó¤Î¼ïÎà¤Ê¤É¤¬É½¼¨¤µ¤ì¤ë¡£
use [DB NAME] show table status;
DB¤ÎÊÑ´¹ †
MyISAM¢ªInnoDB¤ØÊÑ´¹¤¹¤ëºÝ¤Ë¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
alter table [TABLE NAME] ENGINE=INNODB;
DB¤ÎÍÆÎ̤ò³Îǧ¤¹¤ë †
SHOW TABLE STATUS [FROM db_name];
SQL¥Õ¥¡¥¤¥ë¤«¤éSQL¤ò¼Â¹Ô¤¹¤ë †
SQL¤òµ½Ò¤·¤¿¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤«¤éSQL¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï°Ê²¼¤ÎÁàºî¤ò¹Ô¤¦¡£
mysql -u root -p [DB NAME] < [SQL File]
¥Æ¡¼¥Ö¥ë¤ÎÇË»¥Á¥§¥Ã¥¯ †
¥Æ¡¼¥Ö¥ë¤¬ÇË»¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤Ï°Ê²¼¤Î¼ê½ç¤Ë¤Æ³Îǧ¤ò¹Ô¤¦¡£
MyISAM¡¢InnoDB¡¢ARCHIVE¥Æ¡¼¥Ö¥ë¤Î¾ì¹ç¤Ë¤Ï»ÈÍѲÄǽ¡£
- ÇË»¥Á¥§¥Ã¥¯
check table [TABLE NAME];
¥Æ¡¼¥Ö¥ë¤ÎÇË»½¤Éü †
¥Æ¡¼¥Ö¥ë¤¬ÇË»¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ë¾ì¹ç¤Ï°Ê²¼¤Î¼ê½ç¤Ë¤Æ½¤Éü¤ò¹Ô¤¦¡£
MyISAM¥Æ¡¼¥Ö¥ë¤Î¾ì¹ç¤Ë¤Ï»ÈÍѲÄǽ¡£
- ÇË»¤Î½¤Éü
repair table [TABLE NAME];
¥·¥§¥ë¾å¤«¤éSQL¤òȯ¹Ô †
- ñ¥³¥Þ¥ó¥É¤Î¼Â¹Ô
mysql -u root --password=[PASSWORD] -e "show databases;"
echo "show databases;" |mysql -u root --password=[PASSWORD]
- DB¤ò»ØÄꤷ¤Æ¼Â¹Ô
echo "use [DB NAME]; show table status;" |mysql -u root --password=[PASSWORD]
¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¥¤¥º¤òÄ´¤Ù¤ë †
- MBñ°Ì¤Çɽ¼¨
select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc;
- GBñ°Ì¤Çɽ¼¨
select table_schema, sum(data_length+index_length) /1024 /1024/1024 as GB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc;
- ÆÃÄê¤ÎDB¤Î¥µ¥¤¥º¤òÄ´¤Ù¤ë
select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables where table_schema = '[DATABASE NAME]';
¥Æ¡¼¥Ö¥ë¤ÎÃæ¿È¤ò¾Ã¤¹ †
- ¥Æ¡¼¥Ö¥ëÆâ¤Î¥Ç¡¼¥¿¤òÁ´¤Æºï½ü
truncate table [TABLE NAME];
³°Éô¥¡¼À©Ìó¤Î²ò½ü †
truncate table¤ò¹Ô¤¦ºÝ¤Ë°Ê²¼¤ÎÍͤʥ¨¥é¡¼¤¬È¯À¸¤·¡¢³°Éô¥¡¼À©Ìó¤Ç½èÍý¤¬¹Ô¤¨¤Ê¤¤¾ì¹ç¤Ë°ì»þŪ¤Ë³°Éô¥¡¼À©Ìó¤Î¥Á¥§¥Ã¥¯¤ò̵¸ú²½¤¹¤ë¡£(¥Ç¡¼¥¿¤ÎÀ°¹çÀ¤Ï¼«¸ÊÀÕǤ)
- ³°Éô¥¡¼À©Ì󥨥顼
MariaDB [zabbix]> TRUNCATE TABLE auditlog; ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (ά)
- ³°Éô¥¡¼À©Ìó¤Î¥Á¥§¥Ã¥¯¤ò̵¸ú²½
set foreign_key_checks = 0;
- ³°Éô¥¡¼À©Ìó¤Î¥Á¥§¥Ã¥¯¤ò͸ú²½
set foreign_key_checks = 1;