zoukankan      html  css  js  c++  java
  • usr/bin/mysqladmin: refresh failed; error: 'Unknown error'

    debian wheezy 升级后, 由于授权错误, 导致password给改动, 在debian的mysql safe下也无法进入.  
    我在/etc/mysql/my.cnf 里面已经改动了bind-address 为局域网ip
    进而运行了
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    然后重载授权表:
    FLUSH PRIVILEGES;

    然后重新启动后, 尽管能够远程链接, 可是debian 本身报了一个mysql的error.


    /etc/cron.daily/logrotate:
    /usr/bin/mysqladmin: refresh failed; error: 'Unknown error'
    error: error running shared postrotate script for '/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log '
    run-parts: /etc/cron.daily/logrotate exited with return code 1


    Saved 4 messages in /home/tom/mbox


    这个问题的产生是由于第一次mysql服务启动的时候mysql_safe的error.log日志文件是被root创建的, mysqladmin 调用cron的日志切割清除这个日志文件没有权限导致的.

    这个bug已经在新点儿的debian sid里面修复了, 可是stable版本号还没有接到这个fix.

    解决的方法:

    又一次配置下mysql的error_log , 在my.cnf里面. 而且让你的mysql对这个文件有权限.

    -rw-r-----  1 root  adm      517639 [2014-07-01  9:26] mysql_error.log
    

    改动root为mysql 就能够了

    chown mysql /var/log/mysql/mysql_error.log




    对于centos6,7的远程连接失败问题, 普遍是新装的server

    没有root密码的: mysqladmin -uroot password "newpass"

    已经有root密码: mysqladmin -uroot password 'oldpasswd' 'newpasswd'

    也能够直接登录mysql, mysql -u root;use mysql;UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';FLUSH PRIVILEGES;

    丢失password: mysqld_safe --skip-grant-tables& mysql -u root mysql;

     UPDATE user SET password=PASSWORD("new password") WHERE user='root'; FLUSH PRIVILEGES;


    给用户授权远程訪问, 首先确认端口[client] port=3307 [mysqld] port=3307 其次看mysql是否启动起来, netstat -anp | grep 3307看端口占用

    然后grant all privileges on *.* to 'root'@'%' identified by 'your_password' with grant option; FLUSH PRIVILEGES;

    防火墙开放3307端口,  iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3307 -j ACCEPT 

    查看规则是否生效, iptables -L -n

    删除老的规则iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    同一时候防火墙须要保存service iptables save /etc/init.d/iptables save

    或者直接改动vi /etc/sysconfig/iptables 增加

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3307 -j ACCEPT

    这样就能够远程登录了.





  • 相关阅读:
    几个概率题
    几个智力题。。
    [算法]各种二分查找
    深入 JavaScript 时间对象 Date
    Leaflet 调用百度瓦片地图服务
    JavaScript中进制和字符编码问题
    DOM事件流
    flex 弹性布局
    javascript 闭包内部机制
    HTML DOM setAttribute()、与createAttribute()
  • 原文地址:https://www.cnblogs.com/llguanli/p/7127262.html
Copyright © 2011-2022 走看看