MYSQL使用心得(十)----常用命令
mysql查看状态
./mysqladmin-uroot-popenextended-status
然后grep进行shell编程
直接执行外部命令
./mysql-uroot-e"showmasterstatus\G"
分析sql语句
explain<SQL>;
explainpartitions<SQL>;
查看表结构
desc表名;
查看创建表的结构
showcreatetable表名;
查看变量(配置文件)
showvariableslike'%binlog_format%';
查看状态(运行时)
showstatuslike'%conn%';
mysql免登录执行命令
mysql-uroot-e"showslavestatus\G;"
mysql指定配置文件登录
./bin/mysql--defaults-file=/root/mysql/my.cnf-uroot
锁表
FLUSHTABLESWITHREADLOCK;
解锁
UNLOCKTABLES;
mysql调试语法
在报错以后,执行SHOWWARNINGS;
可以看到详细信息
开放ROOT远程访问,一般不要这么做
GRANTALLPRIVILEGESON*.*TO'root'@'%'WITHGRANTOPTION;
乱码
命令行登陆MySQL,查看编码
showvariableslike'%character%'
创建数据库
createdatabasemy_test;
授权
grantallprivilegesonmy_test.*tomy_test@'%'identifiedby'my_test_123';
修改root密码
updatemysql.usersetpassword=password('open')whereuser='root';
flushprivileges;
备份数据(其中可以人工指定socket参数--socket=/application/search/mysql/mysql/tmp/mysql.sock)
./mysqldump-urootmy_test-v>/data0/search/my_test.sql
备份存储过程和函数
./mysqldump-uroot-popen-n-t-d-Ropendata1>/data0/search/opendata1_produce.sql
备份全部数据库快照
mysqldump-uroot-popen-h127.0.0.1-P3306--all-databases--triggers--routines--events>all.sql
导入
1)先登录,首先要登录mysql,可以看到导入过程,但是终端网络断开,则导入终止
source/data0/search/my_test.sql
2)无需登录,后台执行导入命令,但是看不到过程
./mysql-urootmy_test</data0/search/my_test.sql&
统计表行数
useINFORMATION_SCHEMA;
selectTABLE_ROWS,TABLE_NAME,TABLE_SCHEMAfromtableswhereTABLE_SCHEMA='my_test';
selectsum(TABLE_ROWS)fromtableswhereTABLE_SCHEMA='my_test';
查看服务器线程
showprocesslist;
查看连接
showstatuslike'%conn%';
Connections总连接次数
Max_used_connections连接峰值
Threads_connectioned实时连接数
open_tables:是当前在缓存中打开表的数量。
opened_tables:是mysql自启动起,打开表的数量。
mysqlinnodb优化
InnoDBBuffer命中率
Innodb_buffer_read_hits=(1-innodb_buffer_pool_reads/innodb_buffer_pool_read_requests)*100%
查看支持引擎
showengines\G;
查看innodb引擎状态
showengineinnodbstatus\G
查看复制的二进制文件
showbinarylogs;
【参考文章】
mysqldump
http://www.blogjava.net/Alpha/archive/2007/08/10/135694.html
导出存储过程
http://www.cnblogs.com/yuepeng/archive/2010/09/21/1832775.html