MySQL 常用的設定和指令記錄, 採 FAQ 方式記錄.

問:MySQL 於 mysql> 使用 less 看結果
答:pager less -n -i -S
問:直式列出 query 結果
答:SELECT * FROM TABLE_NAMEG
問:設定 mysql> 變成 (user@host) [(dbname)]>
答:於 .bashrc 加一行
export MYSQL_PS1="(u@h) [d]> "

問:MySQL 看 status
答:show status; 或 mysqladmin -u root -p status
問:MySQL 要讓 localhost 以外的 Client 連進來
答:/etc/mysql/my.cnf 拿掉 bind-address = 127.0.0.1 即可
問:MySQL 秀錯誤編號, 該如何查此編號對應的原因?
答:MySQL error 編號, 在 shell 下打 "perror 編號" 就可知道原因了, Example:
$ perror 134
MySQL error: 134 = Record was already deleted (or record file crashed)
mysql error code
shell> perror 12
System error: 12 = Cannot allocate memory
問:Check Table 是否有錯誤
答:CHECK TABLE tbl_name [fast] [quick], 詳可參見: 此連結
問:於系統運作下, 修復 TABLE
答:repair table table_name, 詳可參見: 此連結
問:MySQL 停止後, 於 shell 下修復 TABLE(MyISM)
答:myismchk /mysql/data/TABLE_NAME.MYI
問:MySQL 只 dump table 的 schema
答:使用此參數: --no-data, -d
mysqldump -d -u root -p TABLE_NAME > TABLE_NAME.sql
問:MySQL 只 dump db 的 schema
答:使用此參數: --no-data, -d
mysqldump -d -u root -p DB_NAME > DB_NAME.sql
問:Query 指定使用哪個 index 的語法
答:
SELECT COUNT(*) FROM TABLE_NAME USE INDEX(XXX_idx)
問:看此 table_name 使用多少容量、空間
答:
show table status like 'table_name';
問:看 table 如何 create 的
答:
mysql> show create table table_name
問:如何看 mysql bin log
答:
mysqlbinlog m10-relay-bin.001
問:如何看 SQL 語法使用到哪個 Index Key
答:
mysql> EXPLAIN SELECT * FROM User
問:如何設定把 所有 對此 MySQL 所下的 SQL 語法都記錄下來
答:
my.cnf
[mysqld]
log = /var/logs/mysql/mysql-query.log
問:如何找出 MySQL column欄位中的值不等於 0-9 的
答:
SELECT * FROM TABLENAME WHERE column REGEXP '[^0-9]';
問:要將資料倒回 DB 的標準做法(若有設 Foreign Key 用此方法才能順利匯入)
答:
  • mysql> SET FOREIGN_KEY_CHECKS = 0;
  • mysql> SOURCE dump_file_name;
  • mysql> SET FOREIGN_KEY_CHECKS = 1;
arrow
arrow
    全站熱搜

    kevin0523 發表在 痞客邦 留言(0) 人氣()