percona 5.6升级到5.7相关error及解决方法
今早,把开发环境的mysql升级到了5.7.15,5.6数据导入后,启动一切正常,检查.err日志,发现有如下异常:
2016-10-31T00:29:33.187073Z 0 [Warning] System table 'time_zone_leap_second' is expected to be transactional.
2016-10-31T00:29:33.187093Z 0 [Warning] System table 'time_zone_name' is expected to be transactional.
2016-10-31T00:29:33.187097Z 0 [Warning] System table 'time_zone' is expected to be transactional.
2016-10-31T00:29:33.187101Z 0 [Warning] System table 'time_zone_transition_type' is expected to be transactional.
2016-10-31T00:29:33.187104Z 0 [Warning] System table 'time_zone_transition' is expected to be transactional.
2016-10-31T00:29:33.187690Z 0 [Warning] System table 'servers' is expected to be transactional.
2016-10-31T00:29:33.188536Z 0 [Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.
2016-10-31T00:29:33.188827Z 0 [Warning] Info table is not ready to be used. Table 'mysql.slave_relay_log_info' cannot be opened.
2016-10-31T00:29:33.195026Z 0 [ERROR] Incorrect definition of table mysql.db: expected column 'User' at position 2 to have type char(32), found type char(16).
2016-10-31T00:29:33.195055Z 0 [ERROR] mysql.user has no `Event_priv` column at position 28
2016-10-31T00:29:33.195236Z 0 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
执行mysql_update进行升级即可。
相关5.7不兼容的mysql参数包括如下:
max_statement_time=300000,由mysql自身参数max_execution_time控制。
innodb_log_block_size=4096,由mysql自身参数innodb_log_write_ahead_size控制。
还有一个问题是,通过service mysql start启动后,service mysql stop无法删除${hostname}.pid文件,看support-files提供的mysql.server文件又是有rm *.pid命令的,事后得再看下哪里的问题。
另外,其他一些常用变化如下:
1、在mysql 5.6中,开始innodb监控的方法(这在mysqld hang,mysql客户端本身就无法登录进去的时候是很有用的)如下:
use mysql;
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
在mysql 5.7下,调整为如下:
set GLOBAL innodb_status_output=ON;
2、正规的创建用户、修改密码方式调整为接近oracle的语法:
5.6:
grant all on *.* to root@'172.18.%' identified by "password";
set password for root@'172.18.%'=password('password');
5.7:
create user root@'172.18.%' identified by 'ABC123!@#';
alter user root@'172.18.%' identified by 'ABC123!@#'; --用户必须已经存在
3、datadir下新增的文件及其含义如下:
ib_buffer_pool
Even though a buffer pool can be many gigabytes in size, the buffer pool data that InnoDB saves to disk is tiny by comparison. Only tablespace IDs and page IDs necessary to locate the appropriate pages are saved to disk. This information is derived from the INNODB_BUFFER_PAGE_LRU INFORMATION_SCHEMA table. By default, tablespace ID and page ID data is saved in a file named ib_buffer_pool, which is saved to the InnoDB data directory. The file name and location can be modified using the innodb_buffer_pool_filename configuration parameter.
ibtmp1
In 5.7, InnoDB added a separate tablespace for all non-compressed InnoDB temporary tables. This new tablespace is named ibtmp1 and is located in the datadir by default.
“The new tablespace is always recreated on server startup. … A newly added configuration file option, innodb_temp_data_file_path, allows for a user-defined temporary data file path. For related information, see InnoDB Temporary Table Undo Logs.”
mysqld_safe.pid
In MySQL 5.7.2 and later, mysqld_safe creates a PID file named mysqld_safe.pid in the MySQL data directory when starting up
xb_doublewrite
percona扩展,Regardless of innodb_flush_method setting, the parallel doublewrite file is opened with O_DIRECT flag to remove OS caching, then its access is further governed by the exact value set: if it’s set to O_DSYNC, the parallel doublewrite is opened with O_SYNC flag too. Further, if it’s one of O_DSYNC, O_DIRECT_NO_FSYNC, or ALL_O_DIRECT, then the doublewrite file is not flushed after a batch of writes to it is completed.由参数innodb_parallel_doublewrite_path控制其目录,It defaults to xb_doublewrite in the data directory.
sys:
performance_schema之上的视图库。
percona 5.6升级到5.7相关error及解决方法的更多相关文章
- [转]Oracle 10g及pro*c相关问题及解决方法(转)
Oracle 10g及pro*c相关问题及解决方法 2008年08月21日 星期四 上午 11:21 最近一直在进行ORACLE 10g和PRO*C的学习. 其中遇到了不少的问题: 现列于此,已备他用 ...
- db2相关问题及解决方法
DB2相关问题及解决方法: 一.DB2中的代码页(codepage)问题. DB2备份时发生过代码页错误的问题,修改代码页后备份正常,但创建数据库时又发生代码页的错误.这是DB2服务器使用的代码页配置 ...
- android6.0SDK 删除HttpClient的相关类的解决方法
本文转载自博客:http://blog.csdn.net/yangqingqo/article/details/48214865 android6.0SDK中删除HttpClient的相关类的解决方法 ...
- MVC4升级MVC5导致原项目出错的解决方法
原文:MVC4升级MVC5导致原项目出错的解决方法 出现安全透明方法"WebMatrix.WebData.PreApplicationStartCode.Start()"尝试访问安 ...
- Win7升级Win10系统提示错误0x80070057的解决方法
Win7系统用户在通过Windows Update来升级Win10系统时,有时会出现0x80070057的错误代码从而导致无法继续升级.下面好系统重装助手就来告诉大家Win7升级Win10系统出现0x ...
- 总结关于Ubuntu 安装 Docker 配置相关问题及解决方法
总结关于Ubuntu 安装 Docker 配置相关问题及解决方法 Tomcat 示例 软件镜像(xx安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的xx): 步骤: 1.搜索镜像 ...
- android 6.0 SDK中删除HttpClient的相关类的解决方法
一.出现的情况 在eclipse或 android studio开发, 设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如android-async-http ...
- QT4项目升级到QT5遇到的问题和解决方法
QT4升级到QT5改动: PC部分: [改QTDIR变量] 在工程根目录下找到.user文件, 如InnoTabPlugin.vcxproj.user 修改指向你的QT5根目录: <Proper ...
- linux下,matplotlib遇到的相关问题以及解决方法
1.在linux下运行matplotlib程序时,matplotlib的安装. 根据不同的linux系统继续相关安装: Debian / Ubuntu : sudo apt-get install p ...
随机推荐
- Cubieboard2裸机开发之(三)C语言操作LED
前言 前面通过汇编语言点亮LED,代码虽然简单,但并不是很直观.这次使用熟悉的C语言来控制LED,但是需要注意的地方有两点,第一,要想使用C语言,首先需要在调用C语言代码之前设置好堆栈:第二,调用C语 ...
- android自定义viewgroup实现等分格子布局
先上效果图: 实现这样的效果: 一般的思路就是,直接写布局文件,用LinearLayout 嵌套多层子LinearLayout,然后根据权重layout_weight可以达到上面的效果 还有就是利用g ...
- Populating Next Right Pointers in Each Node II--leetcode难题讲解系列
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...
- CocoStudio教程三:认识并利用CocoStudio的果实 运行2.2.1版本
原文:CocoStudio教程三:认识并利用CocoStudio的果实 原文用的老版,用2.21搞起来好像有些问题,然后自己摸索了下,有的都是乱找的方法,只求能运行... 1,原文的CCJsonRea ...
- 10个TWaver 网页3D可视化精彩案例
以下网页3D案例均为TWaver原创出品,推荐使用Chrome, FireFox, Safari等对WebGL支持良好的浏览器运行.案例排名不分先后,如需Demo,可直接申请试用. 1. 化学元素 ...
- jQuery---EasyUI小案列
jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等 ...
- 论文第5章:Android绘图平台的实现
面向移动设备的矢量绘图平台设计与实现 Design and Implementation of Mobile Device-oriented Vector Drawing Platform 引用本论文 ...
- Linux 时钟与计时器
对 Linux 系统来说,时钟和计时器是两个十分重要的概念.时钟反应的是绝对时间,也可认为是实时时间.计时器反应的则是相对时间,即相对于系统启动后的计时.操作系统内核需要管理运行时间(uptime)和 ...
- android sqlite导入数据
@Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { // TODO Auto-generated meth ...
- jQuery 1.9 Ajax代码带注释
/* -----------ajax模块开始 -----------*/ var // Document location ajaxLocParts, ajaxLocation, ajax_nonce ...