koushr

mysql运维

\G和;一样,都是语句终止符,有了\G就没必要再加;了。

查看连接详情:

show processlist;

Id是数据库连接id,即connectionId。Host格式是ip:port,是客户端的ip和端口,db是连接的库名。

如果多个服务共用一个mysql实例,而某些服务连接池设置有问题,连接数过多,sleep很长时间也不释放,导致其他服务获取不到数据库连接,则我们可以用kill ${ID}命令kill掉这些连接。

 

查看连接数:

show status like \'Threads%\';

show global status like \'Thread%\';

Threads_connected:这个数值指的是打开的连接数。

Threads_running:这个数值指的是激活的连接数,即有多少个连接正在执行DDL或者DML,这个数值一般远低于connected值。

 

查看mysql服务器设置的最大连接数:

show variables like \'%max_connections%\'; 

 

查看各种超时时间的设置:

show variables like \'%timeout%\';

interactive_timeout:单位是s,mysql服务端会主动断开空闲时间超过wait_timeout的交互式的数据库连接,默认是28800,即8小时。

wait_timeout:单位是s,mysql服务端会主动断开空闲时间超过wait_timeout的非交互式的数据库连接,默认是28800,即8小时。

数据库连接断开时,假如通过mysql命令行客户端查询,则再次执行查询时会显示:

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 249462814

 

查看表的引擎、近似行数:

show table status like \'表名\';

可以看出上表使用的存储引擎是InnoDB,行数是20,行的平均长度是819。如果使用的是MyISAM、MEMORY、ARCHIVE、BLACKHOLE引擎,那么这俩值都是精确值,如果是InnoDB引擎,那么这俩值有可能有较大误差。

 

查看上一条命令的告警:

show warnings;

 

mysql_find_rows、mysqlaccess、msql2mysql、mysqlslap、mysqlimport、mysqldump、mysqlcheck、mysqlbinlog、mysqladmin命令

使用mysqldump命令dump数据库表定义、表数据,如

dump test库所有表的表结构:

mysqldump -h127.0.0.1 -P3306 -uroot -p --no-data test > schema.sql

--no-data参数表示不dump数据,只dump表结构,可以简写为-d

dump test库t1表、t2表的表结构:

mysqldump -h127.0.0.1 -P3306 -uroot -p -d test t1 t2 > schema.sql

dump d1、d2库的表结构:

mysqldump -h127.0.0.1 -P3306 -uroot -p -d --databases d1 d2 > schema.sql

dump 所有库的表结构:

mysqldump -h127.0.0.1 -P3306 -uroot -p -d --all-databases > schema.sql

--all-databases参数可以简写成-A,注意mysql自带的information_schema库、performance_schema库和sys库不会dump,但是自带的mysql库会dump,其他业务库都会dump。

分类:

技术点:

相关文章: