注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 

mysql操作经验  

2012-02-27 17:04:59|  分类: 数据库类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、登陆mysql的方法:Mysql –p –u root

 

二、关于Mysql日志设置

首先,我想找到日志的路径,于是想看看my.cnf的设置:find / -name "my.cnf"。但是,系统里面有两个my.cnf,我们用的是哪一个呢ps auxww|grep mysqld。其中,a 表示显示所有的行程,u 表示显示行程拥有者的信息,x 显示 deamon 的信息,ww 则是显示完整的 COMMAND 字段,不要将太长的部份截断。
USER     PID %CPU  %MEM  VSZ  RSS  TT  STAT  STARTED    TIME               COMMAND
root     209  0.0  0.0   644  240 con-  I    13Nov06   0:00.02 /bin/sh /home/mysql/bin/mysqld_safe
得到--datadir=/home/mysql/var,日志文件的路径找到了。但是,这里只有默认的数据库bin日志,没有我要的query日志。

 

 

2.查看启动项
internal#cd /etc/rc.local
/home/mysql/bin/mysqld_safe &
/usr/local/apache2/bin/apachectl start

internal#ps auxww| grep mysqld
root     209  0.0  0.0   644  240 con- I    13Nov06   0:00.02 /bin/sh /home/mysql/bin/mysqld_safe
mysql    291  0.1  4.0 45864 20604  ??  S    13Nov06 436:35.30 /home/mysql/bin/mysqld --basedir=/home/mysql --datadir=/home/mysql/var --user=mysql --pid-file=/home/mysql/var/internal.netease.com.pid --port=3306 --socket=/tmp/mysql.sock

有两个mysqld进程
internal#sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS     
nobody   httpd    29607    4 tcp4   *:*                   *:*                 
root     sshd     29403    3 tcp4   192.168.7.216:22      192.168.30.195:322
mysql    mysqld     291   27 tcp4   192.168.7.216:3306    192.168.30.195:300        

USER:哪个使用者开启的 socket。
COMMAND:经由哪一个指令。
PID:该指令的 process ID 是多少。
DF:socket 的 file descriptor number。
PROTO:哪一种协定。
LOCAL ADDRESS:本地的地址及 port (Internet sockets only)。
FOREIGN ADDRESS:来源的地址及 port (Internet sockets only)。
ADDRESS:socket 开启的档案或目标程序(UNIX sockets only)。

mysql_safe其实是启动mysqld的,然后它就挂起了。

3.先停了mysql:./bin/mysqladmin -u root -p shutdown(这是mysql用户root)
然后指定二进制日志和查询日志的路径以及文件名
./mysqld_safe --log-bin=/var/intra/bin-log/mysql-bin --log=/var/intra/query-log/query.log &


4.但是,找不到query.log这个文件,原来mysql用户没有write的权限,/home/mysql的拥有者是root
改掉它的设置:chown mysql:mysql mysql
再次重启mysql服务,这次终于搞定了。


附录:

//显示所有本机上的二进制日志
mysql> SHOW MASTER LOGS;
//删除所有本机上的二进制日志
mysql> RESET MASTER;
//删除所有创建时间在binary-log.xxx之前的二进制日志
mysql> PURGE MASTER LOGS TO 'binary-log.xxx';
//只保留最近6天的日志,之前的都删掉
find /var/intra -type f -mtime +6 -name "*.log" -exec rm -f {} \;
//用键盘左上角(也就是Esc下面)那个键包围起来,说明是命令。-1d是昨天,以此类推-1m是上个月等等
day=`/bin/date -v -1d +%Y%m%d`;
//给文件改名
mv xxx.log xxx-${day}.log;
//这里还要加上数据库的用户名密码,作用是更新日志(包括二进制日志和查询日志等等)
mysqladmin flush-logs


  评论这张
 
阅读(261)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017