mysql启动提示mysql.host 不存在,启动失败的解决方法

error 日志当中的记录:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

从发了帖子,只有人看,没有人回复,看到这种情况只能自己解决问题了,自己动手丰衣足食吗, 嗯。。。 你还别说,还真让我解决了问题,人啊,都是逼出来的,....没有办法,这个问题对于高手可能是很简单的问题 ,但是对我第一次摸mysql,确实怎么也弄不懂的问题。
好了闲话不多说 说一下我解决的过程:

按照mysql的安装步骤:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &

这样标准进行下来是没有问题的,但在最后一步启动mysql的时候我希望将数据库的数据文件放在另外一个目录下面,启动命令修改为:
shell>/usr/local/mysql/bin/mysqld_safe --user=mysql --log-error=/u01/mysql/mysql_error/error --datadir=/u01/mysql/data

这个时候就出现问题了, 因为在进行初始化数据库权限表的那一步的时候默认创建的权限表在默认目录/usr/local/mysql/var下面,这就造成了,上面的错误无法找到 权限表:Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

解决办法 在运行初始化权限表的时候使用增加参数--datadir ,命令格式为:
shell> scripts/mysql_install_db --user=mysql --datadir=/u01/mysql/data
这样问题就解决了。
这样问题同样也会出现 你将自己的数据库的数据文件修改为别的目录的时候,因为你没有在相应的目录下创建数据库权限表,解决办法就是你重新运行mysql_install_db 文件,重新生成数据库权限表,但是相应的你也要重新建里用户,以及设置权限; 第二个办法应该将老的权限表的文件拷贝倒相应数据库表对应的目录先即可,但是第二个办法我没有用过只是根据自己的想象猜的。如果有高手请给确认一下是否正确

MySQL 提示服务启动失败的解决办法

以前经常碰到这个问题,但都是用以下办法处理的,

先在添加删除程序里卸载MySQL,然后把原MySQL的目录改名,再打开注册表用F3循环查找“MySQL”,全部删除,最后重启机器再重新装MySQL都可以搞定,但今天遇到的问题比特殊,按上面和下面的办法全试过了依然不行,安装到最后一到启动那里就失败了,把所有正在运行的服务和软件全部关掉,又连续重启重装了N次都是到那里停止,后来干脆换个高版本儿试下,这次全部删除后重装到最后那一步时还是等了很长时间,最后竟然成功了,现在记录下来,以后再遇到此类问题不用再郁闷了!

重装是成功了,但是重启后测试发现又出问题了,服务启动不了,一直报错如下:
在 本地计算机 无法启动 MySQL 服务。
错误 1053: 服务没有及时响应启动或控制请求。

又研究了半天,最后终于搞定,发现他原来的计算机管理员用户名里有个$字符,心想不会是他的事儿吧,就建了一个正常的独立计算机账户MySQLUSER,然后在进程里把mysqld.exe结束,然后在MySQL所在的目录上点右键属性安全,添加MySQLUSER这个用户并给完全控制权限,再打开服务管理器在MySQL服务上点右键,输入刚才建立的账号和密码确定,如下图!

最后再随意重启服务,重启计算机再试,依然很顺利,至此这个疑难问题算是彻底解决,问题根源就是那个系统管理员账号内的$字符,呵呵。

附几个常用的MySQL的下载地址和MySQL管理工具!

http://sys.7i24.com/soft/mysql5132.rar
http://sys.7i24.com/soft/mysql5158.rar
http://mysql.he.net/Downloads/MySQL-5.5/mysql-5.5.21-win32.msi

MySQL 5.5.12 官方版(For Windows 64位)
thunder://QUFodHRwOi8veGlhemFpLnhpYXphaWJhLmNvbS9Tb2Z0L00vTXlTUUxfNS41LjEyX3dpbng2NF9YaWFaYWlCYS56aXBaWg==

● Navicat for MySQL V9.0.15 绿色中文版_优秀的数据库管理和开发工具
thunder://QUFodHRwOi8vd3d3dy4xMTkueGRvd25zLmNvbS91cGxvYWRGaWxlLzIwMTAtMTAvbmF2aWNhdF9mb3JfTXlTUUwucmFyWlo=

================以下是遇到此类问题时的常规处理办法========================
mysql 安装到最后一步时,start service 为失败状态 请问是什么原因

使用services.msc打開服務窗口,查看MySQL service是否已經存在。如已经存在并已启动,则先停止该服务,然后到注冊表("HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services")中刪除對應服務,并使用命令sc delete MySQL,然后繼續進行安裝,就能成功。
MYSQL安装出现could not start the service mysql error:0处理
当各位在安装、重装时出现could not start the service mysql error:0的错误时,可以尝试下面两种方法。
一、方式1
MySQL安装是出现could not start the service mysql error:0 提示错误,解决方法:
首 先,在管理工具->服务里面将MySQL的服务给停止,然后打开cmd 进入你的MySQL bin目录下,例如 C:\Program Files\MySQL\MySQL Server 5.0\bin 然后使用如下命令mysqld-nt -remove 然后就会显示......success! 好了下面进入添加删除程序,找到MySQL选择卸载,记得选择remove。最后将MySQL目录删除,还有数据库的目录也删除。
一、方式2
查看服务中有没有mysql,如果有将该服务停掉;
安装mysql 5.1.33,在运行Server Instance Configuration wizard时的Execute configurattion步骤中的第三项Start Service进出错,错误提示为Could not start the service MySQL (出现这种情况一般是因为装过mysql,卸载不干净造成的。卸载后重启后再重装。注意看下服务,如果未能卸载,可以用mysqld-nt -remove卸载)。
在控制面板中运行添加删除程序,将mysql卸载;
卸载后打开注册表,查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可;
重启,将mysql的安装残余目录删掉 (查看服务,此时服务中已没有mysql);
重新安装mysql.安装后先不要运行Server Instance Configuration wizard,重启后在开始菜单中运行该向导,即可。
windowsxp系统 mysql-5.0.81
提示:1045 access denied for user 'root'@'localhost' using password yes
MySQL 5.1 安装过程中报apply security setting错误的解决办法 收藏
Mysql安装错误apply security settings 解决方法
The security settings could not be applied to the database because the connection has failed with the following error.
Error Nr. 1045
Access denied for user 'root'@'localhost' (using password: YES)
If a personal firewall is running on your machine, please make sure you have opened the TCP port 3306 for connections. Otherwise no client application can connect to the server. After you have opened the port please press [Retry] to apply the security settings.
If you are re-installing after you just uninstalled the MySQL server please note that the data directory was not removed automatically. Therefore the old password from your last installation is still needed to connect to the server. In this case please select skip now and re-run the Configuration Wizard from the start menu.
MySQL 5.1 安装过程中报apply security setting错误的解决办法
1, 卸载MySQL
2, 删除目录 C:\Documents and Settings\All Users\Application Data\MySQL
3, 重新安装MySQL 就 OK 啦
------------------------------------------
[MySQL] Could not start the service MySQL 解决方法
安装mysql 5.1.33,在运行Server Instance Configuration wizard时的Execute configurattion步骤中的第三项Start Service进出错,错误提示为Could not start the service MySQL (出现这种情况一般是因为装过mysql,卸载不干净造成的。卸载后重启后再重装。注意看下服务,如果未能卸载,可以用mysqld-nt -remove卸载)。
具体方法如下:
查看服务中有没有mysql,如果有将该服务停掉;
在控制面板中运行添加删除程序,将mysql卸载;
卸载后打开注册表,查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可;
重启,将mysql的安装残余目录删掉 (查看服务,此时服务中已没有mysql);
重新安装mysql.安装后先不要运行Server Instance Configuration wizard,重启后在开始菜单中运行该向导,即可。
PS:一种值得参考的方法
---------------------------------------------
msyql安装到最后一步start service错误解决方法
1,到控制面板里面先把mysql删除.
2.到c盘C:\Program Files目录下把mysql目录删除.
3.如果在其他盘还有设置目录也要删除.空目录也要删除
4.到regedit把注册表


代码如下:

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL

有的话,全部删除!
(技巧:用F3循环查找“mysql”)
5.如果任务管理器里有关mysql内容也删除
6,把防火墙关了
7,重新装mysql(这里我没有重启计算机)
重装时候有必要的话,重启计算机,停用IIS,和删除temp里的临时文件.
实在不行的话,配置mysql时候,把mysql服务换个服务名.
******************************************************************************************
---------------------------
删除项时出错。
---------------------------
无法删除 LEGACY_MYSQL51: 删除项时出错。
---------------------------
确定
---------------------------
解决办法:注册表项里右键增加administrators所有权限
安装mysql时可能产生cannot create windows service for mysql.error:0错误,错误的原因多数由于重新安装mysql或者对mydql升级,使用MySQL Configuration Wizard而产生.
解决的方法:到regedit把注册表,用F3循环查找“mysql”,全部删除,重新装mysql,即可。

(0)

相关推荐

  • 磁盘已满造成的mysql启动失败问题分享

    突然发现mysql死活都启不起来了: 复制代码 代码如下: /etc/init.d/mysql restartStopping MySQL:                                            [FAILED]Timeout error occurred trying to start MySQL Daemon.Starting MySQL:                                            [FAILED] kill了不行,

  • MySQL下常见的启动失败与备份失败问题的解决教程

    启动失败 重启服务器后-->重启应用服务(Confluence)-->报错,数据库连接失败(mysql设置了开机自启动)-->查看mysql数据库状态: [root@fisheye ~]# ps -ef | grep mysql root 25555 21974 0 11:28 pts/0 00:00:00 grep mysql 启动mysql服务器 [root@fisheye data]# service mysql start MySQL server PID file could

  • IIS无法启动提示“服务没有及时响应启动或控制请求”的解决方法[图解]

    于是,从控制面板的中打开"管理工具"-"服务",检查发现和IIS相关的服务"World wide web publishing service"没有启动,试图启动该该服务时,弹出"错误:127 找不到指定的程序"的错误提示.尝试了很多中方法,包括查看80端口是否被其它程序占用,并启动IIS相关的服务等,都解决不了问题,折腾老半天最后发现竟然是微软自家的补丁导致的. 解决方法很简单:卸载删除跟IIS相关的几个漏洞安全更新补丁即可

  • Mysql挂掉后无法重启报pid文件丢失的解决方法

    阿里云单核2G的配置挂着两个企业网站,访问量一般.最近每天几乎都会出现网站打不开显示数据库链接失败的问题. 多方寻求原因发现,mysql的pid文件缺失,并无法重启自建,后来也看了其他帖子说关闭日志什么的未果,查看系统日志发现,是因为内存满了导致mysql进程被杀,然后就一直挂起状态. Sep 25 11:33:48 iZ28jcqqr7lZ kernel: Out of memory: Kill process 23201 (mysqld) score 53 or sacrifice chil

  • mysql索引过长Specialed key was too long的解决方法

    目录 解决办法一 解决办法二 在创建要给表的时候遇到一个有意思的问题,提示Specified key was too long; max key length is 767 bytes,从描述上来看,是Key太长,超过了指定的 767字节限制 下面是产生问题的表结构 CREATE TABLE `test_table` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(1000) NOT NULL DEFAULT '',

  • php将图片保存入mysql数据库失败的解决方法

    本文实例分析了php将图片保存入mysql数据库失败的解决方法.分享给大家供大家参考.具体分析如下: 图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存到数据库,这样我们每次只要读出图片地址就可以显示了,但下面我还是来介绍一个图片保存到mysql数据库的问题解决办法,代码如下: 复制代码 代码如下: require 'class/db.php'; $fileName = "a1.jpg"; $fp = fopen($fileName, "r&

  • mysql 5.7更改数据库的数据存储位置的解决方法

    随着MySQL数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了.因此,必须要给存放的数据换个地方了.下面是操作过程中的一些步骤.记下来,以后日后查看. 1.修改mysql数据存放的目录 要修改两个地方,其一是修改/etc/my.cnf文件中的datadir.默认情况下: datadir=/var/lib/mysql 因为我的/data/目录比较大,所以将其改为: datadir=/data/mysql/ 还要修改/etc/init.d/mysqld文件,将

  • Mysql 报Row size too large 65535 的原因及解决方法

    报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 向mysql的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误.其实我对这个错误的原因理解也不是很深,给出一些我查到的解释吧 大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的

  • MySQL常见错误有哪些_MySQL常见错误的快速解决方法

    1. TokuFT file system space is really low and access is restricted 解决方法:修改tokudb_fs_reserve_percent参数,不过该参数是静止参数,需重启实例 2. 以上这篇MySQL常见错误有哪些_MySQL常见错误的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • MySQL的自增ID(主键) 用完了的解决方法

    在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值.一般情况下初始值都是从 0 开始,然后按照一定的步长增加(一般是自增 1).一般情况下,我们都是用int(11)来作为数据表的自增 ID,在 MySQL 中只要定义了这个数的字节长度,那么就会有上限. MySQL的自增ID(主键) 用完了,怎么办? 如果用 int unsigned (int,4个字节 ), 我们可以算下最大当前声明的自增ID最大是多少,由于这里定义的是 int unsigned,所以最大可以达到2的32幂

  • MySQL数据中很多换行符和回车符的解决方法

    发现问题 今天一大早客户给我打电话:"小陈儿,昨晚我往数据库导了几十万条数据,然后在web界面很多都搜不到,你们系统做的啥玩意儿啊?这么多BUG!得啵得啵得-"(省略2000字)又习惯性的喷了一遍我们这个项目做的辣鸡~~ 得得得,客户随便喷,我就当吃了个早饭了

  • tomcat正常启动但网页却无法访问的几种解决方法

    目录 问题1: jdk的版本冲突 一.先检查本机的jdk版本 二.修改jdk版本 三.重新启动tomcat 问题2: 端口冲突 tomcat版本和jdk版本对应关系 最近使用tomcat遇到一点小问题,项目使用tomcat,启动后显示无法访问页面.根据自身使用情况和一些网上搜索到的结果,汇总整理一下. 可能遇到的问题有以下几种: 问题1: jdk的版本冲突 使用的tomcat1.6版本,电脑安装的jdk版本是 1.8,jdk版本冲突导致无法正常使用.解决方案:修改jdk的版本,由jdk1.8修改

随机推荐