我在服务器上运行了一个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) 当我尝试执行以下操作SQL
时MySQL
,我收到错误:
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> 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) 我一直在按照这些说明重置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-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 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) 我正在尝试从源代码编译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一起运行正常但我无法开始编译,因为缺少依赖项?谢谢!
为了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服务器上启用日志,但没有成功.我做了什么 :
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数据库从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)