mysql启动提示mysql.host 不存在,启动失败的解决方法_MySQL
程序员文章站
2022-05-24 23:25:46
...
bitsCN.com
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 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打
[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 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打
推荐阅读
-
log引起的mysql不能启动的解决方法
-
mysql启动时出现ERROR 2003 (HY000)问题的解决方法
-
mysql5.7.18安装时mysql服务启动失败的解决方法
-
mysql出现无法使用、无法启动服务问题的解决方法
-
MySQL Error Log 文件丢失导致The server quit without updating PID file启动失败的场景
-
MySQL因配置过大内存导致无法启动的解决方法
-
MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法
-
[日常] MySQL内存不足启动失败的解决方法
-
mysql57重新安装后无法再次启动mysql57服务“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动。”--解决方法
-
mysql 5.7.17 安装教程 附MySQL服务无法启动的解决方法