您的位置:首页 > 其它

NYOJ28 大数阶乘

2015-04-29 12:10 211 查看
给/etc/my.cnf增加下面代码,可以将SQL查询超过1秒的SQL记录下来,以便于分析SQL语句及其效率

后把配置改为如下:

slow_query_log=1

slow_query_log_file = /var/log/mysql/mysql-slow.log

long_query_time = 2

log-queries-not-using-indexes

在mysql使用过程中可以使用 tail -f /var/log/mysql/mysql-slow.log 来查看时实变化情况


========================

mysql 错误日志在 /usr/local/mysql/var/localhost.localdomain.err


========================



如解决Host 'HostName' is not allowed to connect to this MySQL server

解决方法:

1、赋权限 grant all privileges on test.* to 'sinykk'@'%' identified by 'sinykk';
2、关闭防火墙

如果还不行要请确认 on test.*  不要写成  *.*(这可能出错)

=====================================
重置 mysql root 密码

=====================================

1)以 系统root权限登陆

(2)停止MYSQL服务器:

          #service mysqld stop

(3)跳过授权表执行MYSQL服务器:

      # cd /usr/local/mysql/bin

      #./mysqld_safe --skip-grant-tables --skip-networking &

        (注:参数--skip-grant-tables为跳过授权表;--skip-networking为不监听TCP/IP连接)

(4)执行MYSQL客户端:

         #./mysql

(5)使用mysql
数据库

         mysql>use mysql;

(6)更新root密码

         mysql>update user set password=password('新密码') where user='root';

(7)关闭mysql服务器,用正常方试起动

如果您用的不是我这个版本,可以在mysql的安装目录中找一个适合您当前版本的

mysqld_safe,后面加上--skip-grant-tables来跳过授权表,我书上所用的mysqld_safe版本为

"safe_mysqld"(其实写到这里我好像想起来了,在哪看到过说5.0以后把sqfe_mysqld改成mysqld_safe了

mysql->grant all on *.* to runjie@localhost identified by "406408" with grant option;

=======================
在my.cnf中设置的为 /var/lib/mysql/mysql.sock,可是PHP却一直找/tmp/mysql.sock

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/sinykk/test.php on line 5 Could not connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

老套路:google 错误信息,确定是/tmp/mysql.sock不存在

       解决办法:

       ps aux | grep mysql

       root      1896  0.0  0.0   1872   548 ?        S    16:00   0:00 /bin/sh /usr/bin/mysqld_safe

       mysql     1935  0.0  0.8 127852 17188 ?        Sl   16:00   0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

       root      1936  0.0  0.0   3260   740 ?        S    16:00   0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld

       logic0    2287  0.0  0.0   3560   804 pts/0    S+   16:24   0:00 grep mysql

       可以发现里边有这样的一条信息--socket=/var/run/mysqld/mysqld.sock

       直接建立链接:

       ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

       然后service mysql stop

              service mysql start

              mysql -u root -p

       OK了

       至于原理,现在仍然不太明了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: