MySQL常用命令
优质
小牛编辑
130浏览
2023-12-01
查看MySQL进程状态
show processlist; # 查看数据库的连接情况 show full processlist; # 查看正在执行的完整SQL语句,完整显示。
查看MySQL参数配置信息
show variables; # 查看数据库的参数信息 例如当前进程查看binlog是否开启: mysql -uroot -paaaaaa -e 'show variables;' |grep log_bin log_bin ON log_bin_trust_function_creators OFF sql_log_bin ON 实时修改mysql的缓冲大小为32M配置 mysql -uroot -paaaaaa -e 'set global key_buffer_size=1024*1024*32';
查看MySQL数据库运行状态信息
show status; # 查看当前会话的数据库状态信息 show global status; # 查看整个数据库运行状态信息,很重要,要分析并做好监控。
不登录数据库执行MySQL命令
- 通过echo实现(常见用法)
echo 'show databases;'|mysql -uroot -paaaaaa
- 通过cat实现(此法用的不多)
cat |mysql -uroot -p'aaaaaa' << EOF show databases; EOF
提示:此法适合多行字符串比较多的时候。
- 通过mysql -e参数实现(常用)
mysql -u root -p'aaaaaa' -e "show databases;"
实例
mysql自动批量制作主从同步需要的语句
cat |mysql -uroot -p'aaaaaa' << EOF CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_PORT=3306, MASTER_USER='rep', MASTER_PASSWORD='rep', MASTER_LOG_FILE='mysql-bin.00002' MASTER_LOG_POS=429; EOF
mysql线程中,“大海捞针”
平时登陆数据库show processlist;,发现结果经常超长,找自己要看的的比较困难,而且,SQL显示不全。
如果直接执行show full processlist那更是瞬间滚了N屏。找到有问题的SQL语句非常困难。mysql -uroot -paaaaaa -e "show full processlist;"|grep -iv Sleep
过滤当前执行的SQL语句完整内容。