zoukankan      html  css  js  c++  java
  • mysql_upgrade命令

     

    mysql 创建存储过程失败。
    查看错误日志,发现如下信息:
    ********************************************************************************************************************************************************
    110715  6:17:50 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found 
    type char(64).
    ********************************************************************************************************************************************************

    由于数据库是我中途接手的,估计为mysql版本问题,导致的 mysql库里面相关的privilege表和mysql版本不兼容导致

    查看当前mysql版本为 mysql5.5.8.
    利用 mysql_upgrade 升级当前的mysql库。
    翻了下手册:
    ********************************************************************************************************************************************************
    mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables:
    mysqlcheck --all-databases --check-upgrade --auto-repair mysql < fix_priv_tables mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names
    ********************************************************************************************************************************************************
    由于数据量很大,处于谨慎考虑,决定只更新系统表,即mysql库
    #./bin/mysql_upgrade -u xxx -pxxx -S /tmp/mysql.sock --upgrade-system-tables
    到mysql目录下,查看mysql库下面的系统表是否有更新,结果发现无。奇怪

    无奈,全部更新升级
    #./bin/mysql_upgrade -u xxx -pxxx -S /tmp/mysql.sock 
    再次到mysql目录下,查看muysql库下面的系统表的更新,成了。难道是bug,还是因为采用存储有缓存的原因?待查

    进入数据库,查看表结构,无更改。
    重新启动数据库,在查看proc表结构,已经更新了。
    本次升级mysql库的操作完成,且保留了所有的用户权限。
  • 相关阅读:
    C语言面试题——寻找错误
    C语言的声明解释的在线工具——cdecl
    C语言面试题——指针运算
    const 指针与指向const的指针
    C语言复杂声明解释
    poj1248
    poj1750
    poj1484
    poj1853
    poj1575
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5678048.html
Copyright © 2011-2022 走看看