塗抹mysql筆記-mysql管理工具

五花八門的mysql管理工具
<>mysql提供的命令行工具
mysql_install_db:mysql建庫工具,在源碼安裝mysql環節咱們使用過。
mysql_safe:mysql啓動工具
mysqld:mysql主進程,mysql_safe也是調用mysqld進程。啓動關閉數據庫、查詢或修改數據、執行各項維護操做等實際上都是基於mysqld進程的操做。
系統參數:mysql服務啓動時的參數
系統變量:mysql服務運行時參數。好比查看與log相關的系統變量使用show global variables like 'log%';系統變量有些能夠動態調整而不須要重啓mysql,有些則不行。
好比修改mysql數據庫認到二進制日誌格式爲row格式。那麼直接修改系統變量set global binlog_format=row;
使用show global variables like 'binlog_format';查看系統變量是否修改。系統變量又分爲全局(global)和會話(session)。不管全局仍是會話級在下次mysql服務重啓後設定就失效,只有在初始化文件中添加才能永久生效。
狀態變量:狀態變量記錄mysql服務的系統狀態。狀態變量也分爲全局和會話,前者記錄的是整個mysql服務的狀態,然後者只表明當前會話的狀態。查看mysql的狀態變量:show global status;
系統參數和系統變量之間並非徹底一比一關係,徹底存在有參數但沒變量,或者有變量卻不存在對應參數的狀況。php

<>mysqld_multi:mysql多實例管理工具須要在my.cnf添加不一樣的mysqld區塊。使用mysqld_multi --example能夠參考。這個命令專用於單個服務器上運行多個mysql實例的場景
啓動[mysqld34]這個區塊:mysqld_multi start 34;
中止[mysqld6] [mysqld7] [mysqld8]三個區塊:mysqld_multi stop 6-8;html

<>mysql命令
--auto-rehash:按Tab鍵補全命令
--default-character-set:用於指定鏈接會話的字符集
-e,--execute:mysql命令支持兩種操做方式,交互式和非交互式。交互式就是引入到mysql命令提示符下執行的操做,非交互式執行mysql命令時,直接指定要執行的語句。好比:
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "show slave status\G"
Warning: Using a password on the command line interface can be insecure.
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.6
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000024
...
...
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0

-f,--force:在非交互模式批量執行sql語句(或執行一個包含sql語句的文件)時若是要執行的某條sql語句有錯誤,那麼默認狀況下改條語句後面全部語句都不會再被執行。例如:
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "drop table aa.bbccdd;show slave status\G"
Warning: Using a password on the command line interface can be insecure.
ERROR 1051 (42S02) at line 1: Unknown table 'aa.bbccdd'
上來就報有未知的表對象,後面那個查看slave狀態的語句就不執行了。有時候咱們但願錯誤的信息被自動忽略繼續執行後面的語句,這時候-f參數就派上用場了。
[mysql@linux02 scripts]$ mysql -usystem -poralinux -S /mysql/conf/mysql.sock -e "drop table aa.bbccdd;show slave status\G" -f
Warning: Using a password on the command line interface can be insecure.
ERROR 1051 (42S02) at line 1: Unknown table 'aa.bbccdd'
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.6
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000024
Read_Master_Log_Pos: 120
Relay_Log_File: mysql-relay-bin.000011
...
...
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0mysql

--show-warings:執行完語句後立刻顯示警告信息,至關於執行完sql語句後要自動執行show warings;語句linux

system@(none)>helpsql

For information about MySQL products and services, visit:
http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:
http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:
https://shop.mysql.com/shell

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.數據庫

For server side help, type 'help contents'apache

pager是mysql命令行模式中的管道符。
pager more能夠分屏顯示。pager後面跟的是操做系統命令,能夠根據需求換成任何其餘命令。nopager取消瀏覽器

prompt修改當前命令行提示符
status特別關注最後兩行
tee相似oracle中的spool緩存

<>mysqladmin管理工具
經常使用參數:
-i,--sleep=#:建個指定時間後,再次重複調用本mysqladmin命令
-r,--relative:當與-i參數聯合使用而且指定了extended-status命令時,顯示本次與上次之間各狀態值之間的差別。
經常使用命令:
一、create dbname:mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock create testdb
二、drop dbname:mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock drop testdb
三、extended-status:查看服務端狀態信息,跟在mysql命令行模式下執行show global status的功能同樣:
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock extended-status
四、flush-hosts:刷新緩存信息
五、flush-logs:刷新日誌
六、flush-status:重置狀態變量
七、flush-tables:刷新全部表
八、flush-privilege:從新加載受權表,功能與reload命令徹底相同
九、reload
十、refresh:刷新全部表並切換日誌文件
十一、password [new-password]:修改指定用戶的密碼,功能與set password語句徹底相同。
十二、old-password [new-password]:修改指定用戶密碼,只是按照舊的格式修改
十二、ping:檢查當前mysql服務是的仍能正常提供服務。
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock ping
1三、debug:輸出當前mysql服務的調試信息到error.log文件中,某些狀況下性能分析或故障排查很是實用。
1四、kill id、id、...:殺掉鏈接至mysql服務的線程,功能與kill id語句徹底相同
1五、processlist:查看當前mysql服務所用的鏈接線程信息,功能徹底等同於show processlist;語句
1六、shutdown:關閉數據庫服務
1七、status:查看當前mysql的狀態
[mysql@linux02 ~]$ mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock status
Warning: Using a password on the command line interface can be insecure.
mysqladmin: Unknown OS character set 'GB18030'.
mysqladmin: Switching to the default character set 'utf8'.
Uptime: 3684 Threads: 3 Questions: 60 Slow queries: 0 Opens: 82 Flush tables: 1 Open tables: 75 Queries per second avg: 0.016
下面幾個能夠做爲監控指標:
Uptime:mysql服務啓動時間
Thread:當前鏈接的會話數
Questions:自mysql服務啓動後執行查詢語句數量
Slow queries:慢查詢語句數量
Opens:當前處於打開狀態的表對象的數量
Flush tables:執行過flush-*、refresh、reload命令的數量
Open tables:當前會話打開的表對象的數量
Queries per second avg:查詢的執行頻率
start-salve
stop-slave
variables:顯示系統變量功能與show global variables;語句徹底相同
version,查看版本信息同時還包括status命令的信息

每隔一秒輸出當前mysql服務的狀態信息
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock -i 1 status
每秒執行查詢的數量
mysqladmin -usystem -p'oralinux' -S /mysql/conf/mysql.sock -i 1 -r extended-status |grep -e "Com_select"

<>PHPMyAdmin
XAMPP:對Mysql、Perl、PHP封裝各類相關的軟件包,以及phpMyAdmin,下載地址:http://www.apachefriends.org/zh_cn/xampp.html
一、解壓: tar -xvfz xampp-linux -C /opt
二、vi /opt/lampp/etc/extra/httpd-xampp.conf
在/opt/lampp/phpmyadmin標籤中(16-19行之間)增長一行:Require all granted。
將LocationMatch標籤中的第62行:Deny from all改成Allow from all 使其餘服務器也能訪問phpmyadmin
三、啓動服務:/opt/lampp/lampp start
四、經過瀏覽器訪問

<>Mysql Workbench
<>第三方管理工具:Sqlyog和Navicat

相關文章
相關標籤/搜索