升级MySQL 5.7版本遇到的一些小问题

在5.6版本服务器做备份

/usr/local/mysql/bin/mysqldump -S /tmp/mysql3306.sock -A -p --set-gtid-purged=OFF > backup_20160204.sql

在5.7版本服务器操作

mkdir -p /neworiental/data/mysql/mysql3307/{data,logs,relaylog,sock,tmp}

chown -R mysql:mysql /neworiental/data

初始化数据库
/usr/local/mysql/bin/mysqld --defaults-file=/neworiental/data/mysql/mysql3307/my3307.cnf  --initialize-insecure

恢复数据库(全量数据)
/usr/local/mysql/bin/mysql -S /neworiental/data/mysql/mysql3307/sock/mysql3307.sock -p  <    backup_20160204.sql

查看所有用户没有密码!!!

select user,host,authentication_string,plugin from mysql.user;

修改密码

UPDATE mysql.user SET authentication_string=PASSWORD(‘password‘) WHERE User=‘root‘ and host=‘localhost‘;
FLUSH PRIVILEGES;
验证登入,登出,正常
重启之后,还是正常

只有日志有报错
2016-02-04T08:26:56.700344Z 0 [ERROR] Incorrect definition of table mysql.db: expected column ‘User‘ at position 2 to have type char(32), found type char(16).
2016-02-04T08:26:56.700391Z 0 [ERROR] mysql.user has no `Event_priv` column at position 28
2016-02-04T08:26:56.700574Z 0 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.

进行数据库升级
/usr/local/mysql/bin/mysqld_safe --defaults-file=/neworiental/data/mysql/mysql3307/my3307.cnf --skip-grant-tables &
/usr/local/mysql/bin/mysql_upgrade --defaults-file=/neworiental/data/mysql/mysql3307/my3307.cnf -p --force
重启之后,日志正常了

问题语句:(5.7.10)
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED BY  ‘password‘   WITH GRANT OPTION;

系统表字段已乱

日志中记录 noboby can currently load!!!

无法登陆

无法停止

以下是解决办法:

解决办法:
UPDATE mysql.user SET authentication_string=PASSWORD(‘password‘) WHERE User=‘root‘ and host=‘localhost‘;
UPDATE mysql.user SET plugin=‘mysql_native_password‘  WHERE User=‘root‘ and host=‘localhost‘;
FLUSH PRIVILEGES;
1.已验证,此语句在5.6.28版本运行正常。(因为是源库,因为是一个版本,因为没有发生迁移)
2.无论是覆盖,还是新建,都不行  (版本问题,后面会说)

之前还残留两个5.7问题
1.恢复之后的数据库,mysql.user所有用户没有密码!!! (见结论)
2.使用全库恢复,会把‘mysql.sys‘@‘localhost‘覆盖,不知是否有影响?->必须有影响! (见结论)

结论&解决办法已验证
因为数据库版本问题,全库恢复之后,系统表会被覆盖,(变相的给降级了!!!)所以夸版本的情况,全库dump,恢复之后,必须做版本update,然后重启数据库!!!

时间: 2024-12-22 18:38:20

升级MySQL 5.7版本遇到的一些小问题的相关文章

升级MySQL 5.7版本遇到的一些小问题(转)

在5.6版本服务器做备份 /usr/local/mysql/bin/mysqldump -S /tmp/mysql3306.sock -A -p --set-gtid-purged=OFF > backup_20160204.sql 在5.7版本服务器操作 mkdir -p /neworiental/data/mysql/mysql3307/{data,logs,relaylog,sock,tmp} chown -R mysql:mysql /neworiental/data 初始化数据库/us

Centos 升级MySQL版本或者Yum安装Mysql5.6

Centos 升级MySQL版本或者Yum安装Mysql5.6 1.从MySQL Yum仓库下载最新的rpm文件:http://dev.mysql.com/downloads/repo/yum/CentOS 6 http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 2.yum remove mysql mysql-* 3.mysql-community-release-el6-5.noarch.rpm 4.yum local

phpStudy中升级MySQL版本到5.7.17的方法步骤

http://www.jb51.net/article/120263.htm 前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: ? 1 [Err] 1294 - Invalid ON UPDATE clause for '字段名' column 报错的数据表字段: ? 1 `字段名` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP 同事说同一个 sql 文件他可以导成功.猜可能是数据库版本的问题,同事的是 5.6,我查了下本地的数

xampp 升级 mysql 版本的经历

操作系统:Windows Server 2008 环境:xampp 当前 mysql 版本:5.1 目标 mysql 版本:5.7 升级步骤: 在xampp控制台停止mysql服务: 在xampp安装目录下修改目录“mySql”的名称为“mySql-old”,以作备份,同时新建目录“mySql”: 下载并安装mysql 5.7版本的server组件,跳过configure: 把刚刚安装的mysql根目录下的 bin.lib.share 目录复制到 xampp\mySql 目录下: 如果 xamp

centos升级mysql至5.7

1.备份原数据库 [[email protected] ~] #mysqldump -u root –p -E –all-database > /home/db-backup.sql 加-E是因为mysqldump默认并不处理mysql的事件,需要自己指明是否导出事件. copy一份my.cnf,待安装mysql5.7的时候参照. [[email protected] ~]# cp /etc/my.cnf /home/my.cnf 停止mysql服务 [[email protected] ~]#

centos下升级mysql后遇到的小问题

记录今天遇到的一个小问题, 写一个app访问接口涉及到通过存储过程反馈多个结果集,但是反回多个结果集的存储过程,调用之后只能反回一个了,而且奇怪的是,即使直接在mysql上同时执行两条查询语句,第一条查询的数据也不会出现,只会出现第二条数据,  开始找原因了-->,最开始怀疑是centos系统问题(接口操作的数据库都是直接连接的服务器,本地没有创建),因为这代码都是我以前写好了,在windows服务器上跑过的,是没问题的.网上找找,没发现有人这么样说.....    然后尝试下直接操作本地数据库

phpstudy升级mysql数据库

因为MySQL支持全文索引的只有5.6以上,而我下的phpstudy只有5.5的版本,在导入数据库的时候因为该数据库的表内有使用全文索引,因此必须升级phpstudy的mysql版本,这里就把自己当升级过程详细记录和总结一下. 首先查看phpstudy的mysql版本: 方法一  使用mysql的version函数: select     version(); 方法二  status命令 status; 如果不想登陆mysql进行查询可以使用mysql -v和mysql --help,这里不详述

《转》MySQL 5.7版本新特性连载

MySQL 5.7版本新特性连载(一) 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起.根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来产生兼容性问题. 本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化. 1.即将删除的特性1.1.InnoDB monitoring features,详见:WL#7377(访问地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他

CentOS升级MySQL到5.5

centOS的yum安装的MySQL是5.1版本,可通过官方的rpm包安装5.5版本 # 查看安装的相关项 rpm -qa|grep -i mysql # 停止服务 service mysqld stop # 卸载 yum remove mysql-* or rpm -e xxx # 下载MySQL5.5 wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-5.5.40-1.el6.x86_64.rpm-bundle.tar # 解压 t