标签: mysql-5.6

如何解决mysql警告:"InnoDB:page_cleaner:1000ms意图循环花了XXX毫秒.设置可能不是最优的"?

我在服务器上运行了一个mysql import mysql dummyctrad <dumpfile.sql,它需要很长时间才能完成.转储文件大约是5G.服务器是Centos 6,内存= 16G和8核处理器,mysql v 5.7 x64-

这些正常的消息/状态是"等待表刷新"和消息 InnoDB: page_cleaner: 1000ms intended loop took 4013ms. The settings might not be optimal

mysql日志内容

2016-12-13T10:51:39.909382Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4013ms. The settings might not be optimal. (flushed=1438 and evicted=0, during the time.)
2016-12-13T10:53:01.170388Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4055ms. The settings might not be optimal. (flushed=1412 and evicted=0, during the time.)
2016-12-13T11:07:11.728812Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4008ms. The …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-5.6 mysql-5.7

43
推荐指数
2
解决办法
6万
查看次数

在MySQL中使用"TYPE = InnoDB"抛出异常

当我尝试执行以下操作SQLMySQL,我收到错误:

SQL:

        SQL = "CREATE TABLE Ranges (";
        SQL += "ID varchar(20) NOT NULL, ";
        SQL += "Descriptions longtext NULL, ";
        SQL += "Version_Number int NULL, ";
        SQL += "Row_Updated bigint NULL, ";
        SQL += "Last_Updated datetime NULL, ";
        SQL += "XML longtext NULL, ";
        SQL += "PRIMARY KEY (ID)";
        SQL += ") " + "TYPE = InnoDB";
Run Code Online (Sandbox Code Playgroud)

错误:

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在"TYPE = InnoDB"附近使用正确的语法

但是,如果我删除"TYPE = InnoDB",那么查询工作正常.

以前查询工作正常,即在MySQL 5.0.但是当我升级到时MySQL 5.6,我收到了上述错误.

任何建议/替代方案...... …

mysql sql mysql-5.0 mysql-5.6

23
推荐指数
2
解决办法
2万
查看次数

ERROR 1006(HY000)无法创建数据库(错误号:13)MySQL 5.6.12

我正面临创建数据库的问题,并导致以下错误.

mysql> show grants for 'admin'@'%';
+---------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@%                                                                                                              |
+---------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' WITH GRANT OPTION |
+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> create database abc;
ERROR 1006 (HY000): Can't create database 'abc' (errno: 13)
Run Code Online (Sandbox Code Playgroud)

这是我的用户表.

mysql> select host, user from mysql.user;
+-------------+-------+
| host        | user  |
+-------------+-------+
| %           | admin |
| 127.0.0.1   | root  |
| ::1         | root  |
| IVM-MMC-DGW …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-5.6

23
推荐指数
5
解决办法
7万
查看次数

重置MySQL 5.6中的ROOT密码

我一直在按照这些说明重置root密码,以便MySQL 5.6在Windows 7笔记本电脑上进行本地安装.

我停止了服务,创建了init-file,并运行了以下命令(以管理员身份):

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

2014-02-08 15:44:10 0 [警告]不推荐使用具有隐式DEFAULT值的TIMESTAMP.请使用--explicit_defaults_for_timestamp服务器选项(有关详细信息,请参阅文档).

由于这是一个警告,我不确定是否需要修复任何东西,然后再次重做该过程.

目前,命令窗口仍处于打开状态,不接受任何输入.我应该强制关闭它还是我可以做任何事情来优雅地完成这个过程?

UPDATE

我杀死了命令窗口,并尝试重新启动该服务.出了错误.

重新启动Windows,服务自动启动.该 root password似乎工作.我成功地使用了需要密码的Workbench的各种功能.

所以,警告确实只是一个警告.

mysql passwords password-recovery windows-7 mysql-5.6

18
推荐指数
3
解决办法
8万
查看次数

如何在docker容器中迁移mysql数据目录?

我有一个运行带有主机数据量的mysql-5.5的docker容器.我正在将我的容器升级到mysql-5.6.我正在启动一个具有相同主机卷的新容器.由于mysql.user表崩溃,MySQL在容器中崩溃.

[ERROR] Fatal error: Can't open and lock privilege tables: 
Incorrect key file for table 'user'; try to repair it
160523 12:04:13 mysqld_safe mysqld from pid file  /var/run/mysqld/mysqld.pid ended
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法来解决这个问题:

root@container# mysqld --skip-grant-tables;
root@container# mysql -uroot -ppassword
mysql> repair table user USE_FRM;
+------------+--------+----------+--------------------------------------------------+
| Table      | Op     | Msg_type | Msg_text                                         |
+------------+--------+----------+--------------------------------------------------+
| mysql.user | repair | info     | Key 1 - Found wrong stored record at 0           |
| mysql.user | repair | info     | Found …
Run Code Online (Sandbox Code Playgroud)

mysql data-migration database-migration docker mysql-5.6

12
推荐指数
2
解决办法
4610
查看次数

将MATCH与OR结合使用可返回不满足任何条件的结果

使用MySQL 5.6时,此请求

SELECT foo
FROM bar
WHERE groupId = '1'
  AND MATCH (foo) AGAINST ('"myQuery"' IN BOOLEAN MODE);
Run Code Online (Sandbox Code Playgroud)

SELECT foo
FROM bar
WHERE groupId = '1'
  AND foo like '%myQuery%';
Run Code Online (Sandbox Code Playgroud)

返回两个正确的结果,但是当我将两者与结合时:

SELECT foo
FROM bar
WHERE groupId = '1'
  AND (
    MATCH (foo) AGAINST ('"myQuery"' IN BOOLEAN MODE)
    OR foo LIKE '%myQuery%'
  );
Run Code Online (Sandbox Code Playgroud)

我得到了一些额外的结果,这些结果没有出现在前两个请求中的任何一个中,并且根本没有包含myQuery

我想念的括号有什么花招吗?
还是可能与任何类型的索引缓存有关?有时结果是正确的,突然之间,结果不再正确。

我也尝试过

WHERE (
  groupId = '1' AND MATCH (foo) AGAINST ('"myQuery"' IN BOOLEAN MODE)
) OR (
  groupId = …
Run Code Online (Sandbox Code Playgroud)

mysql sql full-text-search mysql-5.6

11
推荐指数
1
解决办法
342
查看次数

使用MySQL 5.6版从源代码编译PHP

我正在尝试从源代码编译PHP以使ZTS正常工作.我有PHP的源代码,我尝试安装依赖项

apt-get build-dep php5

我也为Ubuntu 14.04LTS安装了MySQL 5.6,我在命令后收到此错误:

以下软件包具有未满足的依赖项:mysql-server:取决于:mysql-server-5.5但不会安装E:无法满足php5的构建依赖性.

无论如何都要绕过这种依赖,因为MySQL 5.6与预构建的PHP5一起运行正常但我无法开始编译,因为缺少依赖项?谢谢!

php mysql mysql-5.6 ubuntu-14.04

9
推荐指数
1
解决办法
3378
查看次数

在MySQL中使用utf8mb4

为了utf8mb4在MySQL(5.6.11)中使用4字节,我在my.ini文件中设置了以下变量(my.cnf未找到).此文件位于Windows XP上名为Application Data(C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.6)的隐藏文件夹中.它在安装目录下不可用.

[client]
port=3306
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
init-connect='SET NAMES utf8mb4'
collation_server=utf8mb4_unicode_ci
character_set_server=utf8mb4
Run Code Online (Sandbox Code Playgroud)

然后发出以下命令,

SHOW VARIABLES
WHERE Variable_name
LIKE 'character\_set\_%'
OR Variable_name LIKE 'collation%';
Run Code Online (Sandbox Code Playgroud)

仍显示以下列表.

在此输入图像描述

从图片本身可以看出,几个变量仍然使用3字节utf8.


在执行此操作之前,已发出以下命令以对数据库本身进行相应的更改.

ALTER DATABASE database_name
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

并且还在所述数据库中的每个表上发出以下命令.

ALTER TABLE table_name
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

然而,为什么有些变量尚未设置为所述字符集以及整理?缺什么?

在执行上面指定的每个任务之后,系统(操作系统)本身重新启动.

mysql utf-8 character-encoding utf8mb4 mysql-5.6

9
推荐指数
2
解决办法
3万
查看次数

无法在MySQL中启用日志 - 错误:在配置文件中找不到前一组的选项

我试图在我的MySQL服务器上启用日志,但没有成功.我做了什么 :

1)我创建了具有正确权限的日志文件:

touch /var/log/mysql/mysql.log   
chown mysql:mysql /var/log/mysql/mysql.log
Run Code Online (Sandbox Code Playgroud)

2)我已将所需的更改添加到my.cnf文件中:

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
Run Code Online (Sandbox Code Playgroud)

我的my.cnf文件如下:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to …
Run Code Online (Sandbox Code Playgroud)

mysql ubuntu mysql-5.6 ubuntu-15.04

9
推荐指数
1
解决办法
1万
查看次数

性能问题MySQL 5.7

我已将MySQL数据库从5.6迁移到5.7版.现在我遇到了性能问题.

两个版本都执行了特定的语句,我注意到5.7的速度要慢得多.特别是有大量数据.

即使是简单的select语句也要慢得多

5.6: 2,948 sec
5.7: 6,536 sec
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我有更复杂的语句,占用更多的时间来执行,因此它无法使用.

我也注意到我的表的字段数在5.7但不在5.6中.

my.ini中的配置值没有改变.

要测试此问题,您可以使用以下代码:

#Create Tables
DROP TABLE IF EXISTS aTest;
DROP TABLE IF EXISTS sTest;
CREATE TABLE `aTest` (
    `T_BETREFF` CHAR(40) NOT NULL DEFAULT '',
    `T_DATUM` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    `T_ZEIT` CHAR(5) NOT NULL DEFAULT '',
    `T_SACHBEARB` CHAR(2) NOT NULL DEFAULT '',
    `SYS_UID` INT NOT NULL AUTO_INCREMENT,
    `SYS_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    UNIQUE INDEX `TODO01` (`SYS_UID`),
    INDEX `TODO02` (`T_SACHBEARB`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM;

CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

mysql database performance mysql-5.6 mysql-5.7

9
推荐指数
1
解决办法
5842
查看次数