mysql 管理維護

pathfinder_cui發表於2015-09-29
mysql維護管理
1.刪除資料庫中test下的所有字首為tmp的表;
mysql -e "select concat('drop table test.',table_name,';') from information_schema.tables where table_schema='test' and table_name like 'tmp%';"|grep -v concat
2.將資料庫中test下所有儲存引擎為myisam的表改為innodb
mysql -e "select concat('alter table test1.',table_name,' engine=innodb;') from information_schema.tables where table_schema='test' and engine='MyISAM';"|grep -v concat

commit and chain
chain和release子句分別用來定義在事務提交或者回滾之後的操作,chain會立即啟動一個新事物,並且和剛才的事務具有相同的級別,
release則會斷開和客戶端的聯接;

start transaction命令開啟一個新的事物,會造成一個隱含的unlock tables被執行。

最好不要在同一個事務中使用不同的儲存引擎的表,通常情況下,只對提交的事務記錄到二進位制的日誌中,但是如果一個事務中包含非事務表,那麼回滾操作也會記錄到二進位制日誌中,保證slave的資料一致。


mysql升級
shell>mkdir dumpdir
shell>mysqldump --tab=dumpdir db_name
shell>mysqladmin create db_name
shell>cat dumpdir/*.sql |mysql db_name
shell>mysqlimport db_name dumpdir/*.txt
shell>cp -R /home/mysql_old/data/mysql /home/mysql_new/data/
shell>mysql_fix_privileges_tables;
shell>/etc/init.d/mysqld restart

binlog日誌
--binlog-do-db:該選項告訴主資料庫,如果當前的資料庫(USE選的的資料庫)是db_name,應該更新記錄到binlog日誌中。
--binlog-ignore-db:該選項告訴主伺服器,如果當前的資料庫(即USE選定的資料庫)是db_name,應該更新記錄到binlog日誌中。
--innodb-safe-binlog:此選項經常和--sync-binlog=N(每寫N次日誌同步到磁碟)一起配合使用,使得事務在日誌中的記錄更加安全。
set sql_log_bin=0:具有super許可權的客戶端可以透過此sql語句禁止將自己的語句寫入二進位制記錄。

查詢日誌
--log-output[=value,...]來進行控制,value值可以是table、file、none的一個或多個的組合。none的優先順序最高,如果有none其他不生效
general_log            | OFF                       |
general_log_file       | /mysql/data/localhost.log |

慢查詢日誌
slow_query_log         | ON                        |
slow_query_log_file    | /mysql/log/slowquery1.log |
執行時間超過引數long_query_time(s)設定的值並掃描的記錄數不小於min_examined_row_limit的所有sql語句的日誌
注:獲得表鎖定的時間不算作執行時間
預設情況下,管理語句和不使用索引進行查詢的語句不記錄在慢查詢日誌。要監控這兩類語句,可以分別透過引數--log-slow-admin-statement和log_queries_not_using_indexes

在mysql5.1.29以後,--log-slow-queries已經不推薦使用了
mysql> show variables like '%slow%';
+---------------------+---------------------------+
| Variable_name       | Value                     |
+---------------------+---------------------------+
| log_slow_queries    | ON                        |
| slow_launch_time    | 2                         |
| slow_query_log      | ON                        |
| slow_query_log_file | /mysql/log/slowquery1.log |
+---------------------+---------------------------+

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29620572/viewspace-1811659/,如需轉載,請註明出處,否則將追究法律責任。

相關文章