Mysql服务无法启动的1067错误解决
- 格式:doc
- 大小:21.00 KB
- 文档页数:2
MySQL常见错误及解决方法总结近年来,MySQL已经成为了最受欢迎的开源数据库管理系统之一。
它的稳定性和可靠性使得它被广泛应用于各种类型的应用程序和网站中。
然而,正如任何其他软件一样,MySQL也存在一些常见的错误和问题。
在本文中,我们将探讨一些常见的MySQL错误以及它们的解决方法。
1. 连接问题在访问MySQL数据库时,经常会遇到无法连接到数据库的问题。
这可能是由多种原因引起的。
首先,确保您的数据库服务器正在运行,并且端口号、用户名和密码等连接信息正确无误。
如果连接信息正确,但仍然无法连接,那么可能是由于网络问题或防火墙设置等导致的。
您可以尝试通过检查网络连接或调整防火墙设置来解决此问题。
2. 数据库备份和恢复问题数据库备份和恢复是任何一个数据库管理员都必须处理的重要任务。
然而,当执行这些操作时,有时会出现各种问题。
例如,在备份过程中可能会遇到文件权限错误或磁盘空间不足等问题。
解决这些问题的方法包括:确保备份目录具有正确的权限,确保磁盘有足够的空间,并且检查备份脚本中的语法错误等。
3. 数据库性能问题数据库性能问题是每个应用程序开发人员和数据库管理员都必须关注的事项。
当数据库查询变得缓慢时,可能会导致应用程序的性能下降。
这可能是由于不正确的查询、索引问题或服务器配置不当引起的。
为解决这些问题,您可以优化查询语句、创建适当的索引和重新配置MySQL服务器的参数等。
4. 主从复制问题在分布式环境中,MySQL的主从复制是常用的数据复制方法之一。
但是,复制过程中可能会遇到各种问题。
例如:复制延迟、数据不一致或复制停止等。
要解决这些问题,您可以检查主从服务器之间的网络连接、确保二进制日志文件正确配置,并且检查复制过程中的错误日志等。
5. 错误日志和慢查询日志MySQL的错误日志和慢查询日志是调试和排查问题的重要工具。
错误日志记录了发生的错误和警告,而慢查询日志记录了执行时间超过指定阈值的查询。
然而,如果您配置不正确,有时可能无法生成这些日志。
导⼊数据库时报错1067–Invaliddefaultvaluefor‘字段名’最近把mysql升级到5.7了,wordpress导数据报错Invalid default value for 'comment_date'原因出在类似这样的语句DROP TABLE IF EXISTS `wp_comments`;CREATE TABLE `wp_comments` (`comment_ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,`comment_post_ID` bigint(20) UNSIGNED NOT NULL DEFAULT0,`comment_author` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,`comment_author_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'',`comment_author_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'',`comment_author_IP` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'',`comment_date` datetime(0) NOT NULL DEFAULT'0000-00-00 00:00:00',`comment_date_gmt` datetime(0) NOT NULL DEFAULT'0000-00-00 00:00:00',`comment_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,`comment_karma` int(11) NOT NULL DEFAULT0,`comment_approved` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'1',`comment_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'',`comment_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT'',`comment_parent` bigint(20) UNSIGNED NOT NULL DEFAULT0,`user_id` bigint(20) UNSIGNED NOT NULL DEFAULT0,PRIMARY KEY (`comment_ID`) USING BTREE,INDEX `comment_post_ID`(`comment_post_ID`) USING BTREE,INDEX `comment_approved_date_gmt`(`comment_approved`, `comment_date_gmt`) USING BTREE,INDEX `comment_date_gmt`(`comment_date_gmt`) USING BTREE,INDEX `comment_parent`(`comment_parent`) USING BTREE,INDEX `comment_author_email`(`comment_author_email`(10)) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT =35CHARACTER SET= utf8mb4 COLLATE = utf8mb4_unicode_520_ci ROW_FORMAT = Dynamic;这种报错多是你mysql升级到5.7⽽引起的默认值不兼容的问题。
MySQL⽆法启动⼏种常见问题⼩结昨天在群⾥看到有新同学还在问MySQL⽆法启动的问题,于是总结了⼏个常见情况,权当普及帖了,⽼鸟⾃觉飞过。
MySQL的$datadir⽬录,及其下属⽬录、⽂件权限属性设置不正确,导致MySQL⽆法正常读写⽂件,⽆法启动。
错误信息例如:复制代码代码如下:[code]mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data/usr/local/mysql/bin/mysqld_safe: line 107: /usr/local/mysql/data/imysql.local.err: Permission denied已有其他mysqld实例启动,且占⽤了相同端⼝,需要修改 port 选项。
错误信息例如:复制代码代码如下:[ERROR] Can't start server: Bind on TCP/IP port: Address already in use[ERROR] Do you already have another mysqld server running on port: 3306 ?[ERROR] Abortinginnodb中关于datafile、log file设置不正确,导致⽆法启动。
尤其是第⼀次⽤默认参数启动过,后来⼜参考⼀些优化指南后,修改了innodb的参数,会提⽰different size,详细错误例如:复制代码代码如下:InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytesInnoDB: than specified in the .cnf file 0 134217728 bytes![ERROR] Plugin ‘InnoDB' init function returned error.[ERROR] Plugin ‘InnoDB' registration as a STORAGE ENGINE failed.MySQL安装完后,需要运⾏mysql_install_db初始化mysql这个系统库,才能正常启动。
Mysql常见错误提示及解决方法130 :文件格式不正确。
(还不是很清楚错误的状况)145 :文件无法打开。
1005:创建表失败。
1006:创建数据库失败。
1007:数据库已存在,创建数据库失败。
1008:数据库不存在,删除数据库失败。
1009:不能删除数据库文件导致删除数据库失败。
1010:不能删除数据目录导致删除数据库失败。
1011:删除数据库文件失败。
1012:不能读取系统表中的记录。
1016:文件无法打开,使用后台修复或者使用phpmyadmin 进行修复。
Quote:开始=>所有程序=>附件=>命令提示符输入mysql 所在硬盘盘符cd mysql 所在目录cd bin输入myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYIps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径-f 根据具体情况选择,一般也可以选择-r注意你的系统C盘或放数据库的硬盘空间是否足够,一般小于1G 很容易出现错误。
或用mysqlcheck命令进行修复。
具体的方法:利用命令行进入mysql/bin目录,执行mysqlcheck -o -r phpwind -uroot -p其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。
然后就会修复你的数据库。
1017:服务器非法关机,导致该文件损坏。
1020:记录已被其他用户修改。
1021:硬盘剩余空间不足,请加大硬盘可用空间。
1022:关键字重复,更改记录失败。
1023:关闭时发生错误。
1024:读文件错误。
1025:更改名字时发生错误。
1026:写文件错误。
1030:可能是服务器不稳定。
(具体原因不是很清楚)1032:记录不存在。
1036:数据表是只读的,不能对它进行修改。
1037:系统内存不足,请重启数据库或重启服务器。
1038:用于排序的内存不足,请增大排序缓冲区。
LinuxMySQL常见⽆法启动或启动异常的解决⽅案Linux MySQL 常见⽆法启动或启动异常的解决⽅案 在 Linux 上⾃建 MySQL 服务器,经常遇到各种⽆法启动或启动后异常的问题,本⽂列举⼀些常见问题的解决办法。
注意:以下错误⽇志提⽰,都是查看 MySQL 错误⽇志得到,查看⽅法如下: 查看下 MySQL 配置⽂件 f 中有记录,⽇志记录在 /alidata/log/mysql/error.log 下 MySQL 配置⽂件 f 权限问题导致⽆法启动,错误提⽰:World-writable config file '/etc/f' is ignored Binlog 丢失导致⽆法启动,错误⽇志: File './mysql-bin.000001' not found Binlog ⽆法读取导致⽆法启动,错误⽇志:Failed to open log (file './mysql-bin.000001', errno 13) 不能创建 PID 导致⽆法启动,错误⽇志:Can't start server: can't create PID file: No such file or directory 不能创建临时⽂件导致⽆法启动,错误⽇志:mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13) MySQL 服务⽆法识别导致⽆法启动,错误提⽰:mysqld: unrecognized service MySQL 配置了过⼤的内存导致⽆法启动,错误⽇志:InnoDB: Cannot allocate memory for the buffer pool MySQL 启动参数过多导致⽆法启动,错误提⽰:Too many arguments (first extra is 'start') MySQL ⽬录权限问题导致⽆法启动,错误⽇志:File './mysql-bin.index' not found (Errcode:13 - Permission denied) MySQL 未初始化导致⽆法启动,错误提⽰:can't open the mysql.plugin table MySQL 启动成功但未监听端⼝ MySQL ibdata1权限问题导致⽆法启动,错误⽇志:InnoDB Operating system error number 13 in a file operation 磁盘空间满导致 MySQL ⽆法启动 进程残留导致 MySQL ⽆法启动 MySQL 服务⾃动停⽌ MySQL 配置⽂件 f 权限问题导致⽆法启动,错误提⽰:World-writable config file '/etc/f' is ignored 问题描述 主机 Linux MySQL ⽆法启动,报如下错误: 问题分析 查看 MySQL 错误⽇志发现如下错误(提⽰ MySQL 库的 host 表⽆法打开): 查看 /etc/f 配置⽂件: 到 MySQL 数据库所在⽬录查看表是否存在: 发现 MySQL 库的 host 表是存在的,那为什么会提⽰不存在呢? 问题应该出在 /etc/f ⽂件上,从第⼀个截图也可以看到警告信息(/etc/f 被忽视) 查看⽂件权限: 原来⽂件权限被设置成 777,因安全问题导致被 MySQL 忽视,所以去查询默认的数据库存放路径,没有 MySQL 库的 host 表导致启动失败: 解决办法 将 /etc/f 权限修改成 644,然后启动 MySQL 即可: Binlog 丢失导致⽆法启动,错误⽇志: File './mysql-bin.000001' not found 问题描述 清理磁盘空间时删除了全部 binglog ⽇志,导致 MySQL ⽆法启动: MySQL 的 errorlog ⾥⾯可以看到错误信息: 解决办法 1、注释 Binlog 配置恢复⽅法: 编辑 /etc/f,找到 log-bin=mysql-bin,在前⾯加#将其注释暂时关闭 binlog,保存修改后启动 MySQL 服务 注意:f 配置⽂件路径以实际调⽤路径为准 2、清理 Binlog 索引恢复⽅法: 查看 Binlog 索引⽂件 所以,需要清空 mysql-bin.index 索引⽂件后即可,清理⽅法可以通过 vi 或者 echo 命令清理,如下: echo “” > mysql-bin.index 去除 Binlog ⽇志索引⽂件中调⽤的内容后,测试启动成功。
MySQL解决1067错误(Windows平台)网上说了很多解决1067错误的方法,大多1067错误都是因为之前装了mysql后在重装一边就发生了这个错误。
我的解决办法是在任务管理其中结束点mysqld-nt.exe 。
这是因为之前的mysql mysqld-nt.exe占用了3306端口,导致自己的mysql启动失败。
当然出错的情况多重多样,以下是网上提供的解决方案(部分转载):1.“安装/删除应用程序”中卸载MYSQL程序2.去删除所有的数据库文件.删除WINDOW目录下的MY.INI文件3.进入注册表.删除以下内容:A.HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除B.HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除C.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyS QL 目录删除D.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001t\Services\MYSQL 目录E.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\MYSQL目录F.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL目录001.002可能为其它值.5.删除完以上内容后.重装MYSQL.啊哈!成功了!1067错误也不会再出现了!!总结一句话.WINDOWS目录下的MY.INI是祸害的根源,注册表中的EVENTLOG下的那些目录也是很需要注意的,但没有前者重要!。
MySQL数据库无法启动怎么办MySQL 是一个关系型数据库管理系统,由于它体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。
可是在MySQL数据库的使用过程中,大家经常会遇到数据库启动的问题,为了解决大多数用户出现的数据库启动故障问题,本文就向大家分享一些常见的解决对策,希望能对大家有所帮助。
MySQL数据库无法启动常见原因:1)目录、文件权限设置不正确2)端口冲突3)innodb配置不正确4)没有初始化MySQL系统库(刚安装)5)出现1067错误6)非法关机造成的MySQL无法启动针对上面几点造成MySQL数据库无法启动的原因,大家可以有针对性的进行解决。
下面就主要对出现的1067错误和非法关机造成的MySQL无法启动问题进行详细分析。
1067错误解决方法:1、检查你的Mysql目录有没有给系统的System用户权限。
2、删除掉你的%WINDOWS%/my.ini 文件。
3、检查你的my.ini文件配置是否正确设置basedir指向mysql的安装路径basedir=D:\Program\Tools\mysqldatadir=D:\Program\Tools\mysql\data非法关机造成的MySQL无法启动解决方法:如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖。
不管是哪种种原因造成的MySQL数据库无法启动问题,对于用户来说,最重要的还是MySQL数据库文件的安全,如何在保护数据库文件的基础上解决数据库出现的故障,这是大家需要考虑的问题。
大家有任何的数据库方面的问题,都可以第一时间联系数据恢复中心,数据恢复专家会第一时间为大家解决各种问题,保障大家的数据安全。
mysql自动关闭服务、连接限制等问题的解决方法2011-03-02 11:33通过mysql服务器端程序mysql Administrator调整连接参数。
将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 WEB 应用程序出错。
有三个方法可以解决这个问题:1:修改MySQL配置参数2:修改JDBC3:修改第三方的数据库连接池应用 Proxool.xml方法一:这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。
其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。
修改操作:linux下打开/etc/f,在属性组mysqld下面添加参数如下:[mysqld]interactive_timeout=28800000wait_timeout=28800000windows下打开my.ini,增加:interactive_timeout=28800000wait_timeout=28800000有实践表明,没有办法把这个值设置成无限大,即永久。
因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。
方法二:修改如下JDBC连接的 URL:jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true添加 autoReconnect=true 这个参数,即能解决这个问题。
方法三:配置文件(proxool.xml):<?xml version="1.0" encoding="UTF-8"?><!-- the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --><something-else-entirely><proxool><!-- proxool别名 --><alias>mysql</alias><!-- 数据库连接URL --><driver-url>jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8</driver-url><!-- JDBC驱动名称 --><driver-class>com.mysql.jdbc.Driver</driver-class><!-- 数据库连接帐号 --><driver-properties><property name="user" value="root" /><property name="password" value="password" /></driver-properties><!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 --><house-keeping-sleep-time>90000</house-keeping-sleep-time><!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受 --><maximum-new-connections>20</maximum-new-connections><!-- 最少保持的空闲连接数 --><prototype-count>3</prototype-count><!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 --><maximum-connection-count>20</maximum-connection-count><!-- 最小连接数 --><minimum-connection-count>3</minimum-connection-count><!-- 在分配连接前后是否进行有效性测试,这个是解决本问题的关键 --><test-before-use>true</test-before-use><test-after-use>true</test-after-use><!-- 用于测试的SQL语句一定要写(不知道问什么)--><house-keeping-test-sql>SELECT CURRENT_USER</house-keeping-test-sql> </proxool></something-else-entirely>三、开始菜单-运行-services.msc找到mysql的服务并双击点击恢复选项卡第一次失败:默认是“不操作”,改成"重新启动服务"。
CAS环境mysql服务无法启动常见的几种情况系统空间不足通过df –h 查看根分区剩余空间是否充足。
虚拟机数据较多时容易出现的一种情况。
或者用户在根分区存放了大容量文件。
这种情况一般删除一些文件,根据需要设置性能数据保留时间来规避。
/tmp 权限不足Mysql执行操作时,默认使用/tmp作为临时空间,当用户或者其他程序对tmp 目录有过更改/删除/重建,导致mysql没有权限写入文件时,会出现mysql异常,有如下日志:/usr/sbin/mysqld: Can't create/write to file '/tmp/iboaMkzp' (Errcode: 13)解决方式,增加非root用户的写权限,如:chmod 777 /tmp由于断电或其他操作导致数据库无法启动。
一般启动mysql服务时报错如下:start: Job failed to start一般解决方案整理如下:恢复数据之前首先要对用户系统中数据进行备份处理1、首先查看cat /etc/mysql/f[mysqld]datadir = /var/lib/mysqlmysql数据库数据存放位置默认配置是/var/lib/mysql 文件夹,具体路径按照用户现场环境设置而定。
2、创建备份目录mkdir / vms /mysqlbackup3、将mysql数据文件cp到备份目录中cp -r /var/lib/mysql / vms /mysqlbackup4、修改mysql配置文件vim /etc/mysql/f在[mysqld]后增加innodb_force_recovery = 4修改完成后启动service mysql start如果执行失败继续修改配置文件vim /etc/mysql/f 设置innodb_force_recovery 后面的值1到6 逐个替换直到service mysql start 成功。
mysql数据库错误及解决全攻略说明:如果遇到数据库出错的问题修改相应的代码后一般要重启mysql。
如果遇到mysql的问题可以先重启一下mysql 看看问题能否解决。
1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1016: 无法打开文件击后开始=>所有程序=>附件=>命令提示符输入mysql 所在硬盘盘符cd mysql 所在目录cd bin输入myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYIps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径-f 根据具体情况选择,一般也可以选择-r注意你的系统C盘或放数据库的硬盘空间是否足够,一般小于1G 很容易出现错误。
或用mysqlcheck命令进行修复。
具体的方法:利用命令行进入mysql/bin目录,执行mysqlcheck -o -r phpwind -uroot -p其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。
然后就会修复你的数据库。
1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误1032:记录不存在1036:数据表是只读的,不能对它进行修改1037:系统内存不足,请重启数据库或重启服务器1038:用于排序的内存不足,请增大排序缓冲区1040:已到达数据库的最大连接数,请加大数据库可用连接数1041:系统内存不足1042:无效的主机名1043:无效连接1044:当前用户没有访问数据库的权限1045:不能连接数据库,用户名或密码错误方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改:如果MySQL 正在运行,首先停止。
无论安装何版本的mysql,在管理工具的服务中启动mysql服务时都会在中途报错。
内容为:在本地计算机无法启动mysql服务错误1067:进程意外中止。
经过多方求教,得解决方法如下
查找系统(后来验证应该为windows目录)目录下的my.ini文件,编辑内容(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置。
[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 设置为MYSQL的安装目录
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
# 设置为MYSQL的数据目录
datadir=D:/www/WebServer/MySQL/data
另外,要主意
[WinMySQLadmin]
Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exe
user=root
password=xxxxxxxx
#以上是设置WinMySQLadmin的配置
[Client]
user=root
password=xxxxxxxx
hehe~ :) 解决了
my.ini 文件内容如下.我自己改的,就好了,嘿嘿
[mysqld]
# set basedir to installation path, e.g., D:/mysql
# 设置为MYSQL的安装目录
basedir=D:/mysql
# set datadir to location of data directory,
# e.g., d:/mysql/data or d:/mysql/mydata/data
# 设置为MYSQL的数据目录datadir=D:/MySQL/data。