本文发布于Cylon的收藏册,转载请著名原文链接~
利用 mysql -e 参数查看 mysql 数据
$ mysql -uroot -p111 -e 'use test;show tables;'
+------------------------------+
| Tables_in_test |
+------------------------------+
| 33hao_activity |
| 33hao_activity_detail |
| 33hao_address |
+------------------------------+
利用 mysql -e
参数查看SQL线程执行状态
$ mysql -uroot -p111 -e 'show processlist;'
kill 12;
查看完整的线程状态,此参数才查看慢查询语句是非常有用
解决方法:
root@localhost [test]>show variables like '%_timeout%';
# 设置
set global wait_timeout=60;
set global interactive_timeout=60;
- 在配置文件里修改
set global wait_timeout=60;
set global interactive_timeout=60; # 此参数设置后wait_timeout自动生效
- 其他方法
-
(1) PHP程序中,不适用持久链接,即
mysql_connect
而不是pconnect
(java调整连接池) -
(2) PHP程序执行完毕,应该显示调用
mysql_close()
-
(3) 逐步分析MySQL的SQL查询及慢查询日志,找到查询过慢的SQL,优化。
利用mysql -e查看mysql变量及性能状态
$ mysql -uroot -p111 -e 'show variables;'|head -5
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
autocommit ON
automatic_sp_privileges ON
不重启数据库就该数据库参数
要求:重启后还能生效
$ sed -n '122p' /etc/my.cnf
key_buffer_size = 16M
$ sed -i 's#key_buffer_size = 16M#key_buffer_size=32M#g' /etc/my.cnf
$ sed -n '122p' /etc/my.cnf
key_buffer_size=32M
生产环境常用重要命令小结
# 查看数据库里正在执行的SQL语句,可能无法看完整SQL语句
show processlist;
# 查看正在执行的完整SQL语句,完整显示
show full processlist;
# 不重启数据库调整数据库参数,直接生效,重启后失效
set gloables key_buffer_size=1024*1024*32;
# 查看数据库的配置参数信息,例如:my.cnf里参数的生效情况。
show variables;
# 杀掉SQL线程的命令ID为线程号
kill id
# 查看当前会话的数据库状态信息
show session status;
# 查看整个数据库运行状态信息,很重要,要分析并要做好监控
show global status;
# 显示innodb引擎的性能状态(早期show innodb status)
show engine innodb status;
计算一天之内:MySQL数据库有多少 insert delect语句,有没有好办法?
-
定时任务每天0点,show global status; 按天取出对比。
-
按天分析binlog日志,获取数据库不同语句的频率。
mysqladmin命令
# 修改密码
mysqladmin password 111
mysqladmin -uroot -p111 password 222
# 查看状态
mysqladmin -uroot -p111 status
mysqladmin -uroot -p111 extended-status show global status
mysqladmin -uroot -p111 -S /data/3306/mysql.sock -i status
# 刷新日志
mysqladmin -uroot -p111 flush-logs
mysqladmin -uroot -p111 processlist
# 实时跟踪
mysqladmin -uroot -p111 processlist -i 1
# 关闭mysql
mysqladmin -uroot -p111 -S /data/3306/mysql.sock shutdown
mysqladmin -uroot -p111 -S /data/3306/mysql.sock variables show vaiables
本文发布于Cylon的收藏册,转载请著名原文链接~
链接:https://www.oomkill.com/2017/05/ch7-mysql-non-interact/
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」 许可协议进行许可。