169it科技资讯
169it -->


当前位置:  数据库>mysql

Mysql ERROR 1577错误解决方法

    来源: 互联网  发布时间:2014-10-17

今天将Mysql升级到了5.1.31,用Navicat打开数据库添加数据,出现了1577错误,提示信息:

代码如下:
ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start。

查看手册(5.4. mysql_fix_privilege_tables:升级MySQL系统表),一些MySQL发布对mysql数据库中的系统表的结构进行了更改,添加了新权限或特性。当你更新到新版本MySQL,你应同时更新系统表,以确保它们的结构最新。首先备份mysql数据库,然后按照下面的程序操作
解决办法是:

在Windows系统中,MySQL分发包括mysql_fix_privilege_tables.sqlSQL脚本,你可以用mysql客户端来运行。例如,如果MySQL安装到C:Program FilesMySQLMySQL Server 5.1,命令应为:

代码如下:

C:>C:Program FilesMySQLMySQL Server 5.1binmysql -u root -p mysqlmysql>SOURCE C:/Program Files/MySQL/MySQL Server 5.1/share/mysql_fix_privilege_tables.sql

如果安装到其它目录,相应地更改路径名。

mysql命令将提示输入root密码;按照提示输入密码。运行时候不用管出错信息,完成退出,重启Mysql服务器就可以

linux解决方案,没有试过,摘录如下:

在Unix或Unix类系统中,运行mysql_fix_privilege_tables脚本来更新系统表:

代码如下:

shell>mysql_fix_privilege_tables

你必须在服务器运行时执行该脚本。它试图连接本机上用root运行的服务器。如果root账户需要密码,在命令行中按下述方法给出密码:
代码如下:

shell> mysql_fix_privilege_tables--password=root_password

    
相关技术文章:
    ▪10个mysql中select语句的简单用法

     1、select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from article where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2、批量查询数据 可以用in来实现 $sql="select * from article where id in(1,3,5)" 3、使用concat连接查询的结果 $sql="select concat(id,"-",con) as res from article where id=1" 返回"1-article content" 4、使用locate 用法: select locate("hello","hel......


    ▪自动恢复MySQL数据库的日志文件思路分享及解决方案

     如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为 --log-bin。要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句: ......


    ▪mysql二进制日志文件恢复数据库

     二进制日志的文件的作用     mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句。如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合使用,即可再现用户操作,使数据库恢复。 二进制日志文件的弊端 二进制日志文件开启后,所有对数据库操作的记录均会被记录到此文件, 所以,当长时间开启之后,日志文件会变得很大,占用磁盘空间。 使用二进制日志文件恢复数据库 开启日志文......


 
最新技术文章:
    ▪MySQL关闭过程详解和安全关闭MySQL的方法

     本文分析了mysqld进程关闭的过程,以及如何安全、缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下。 关闭过程: 1、发起shutdown,发出SIGTERM信号 2、有必要的话,新建一个关闭线程(shutdown thread)    如果是客户端发起的关闭,则会新建一个专用的关闭线程    如果是直接收到 SIGTERM 信号进行关闭的话,专门负责信号处理的线程就会负责关闭工作,或者新建一个独立的线程负责这个事    当无法创建独立的关闭线程时(例如内存不足),MySQL Server会发出类似下面的告警信息:    Error: Can't create thread to kill se......


    ▪mysql的启动过程详解

     有一天,两个不懂mysql内核的人想去了解mysql内核代码,两个人不是去调试代码、查找资料,而是在那边思考。因为不了解内核,所以边思考边去验证。   使用的mysql代码是5.1.7,调试环境是windows平台下的vs2003。   Bingxi:“alex,你觉得mysql的启动过程会是什么样的呢?我们以银行为例吧。” Alex:“嗯,bingxi。早上银行开门了,会先准备好环境,然后开门迎客,mysql也是这样。Mysql里面会有一个handle_connections_sockets函数,这个函数就好比是个叫号机,每个用户来了都会取个号,然后就会进行业务处理。” 代码如下:......


    ▪Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态

     mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。 1. 使用-r/-i参数 使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号