mysql启动提示mysql.host 不存在,启动失败

但是对我第一次摸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 文件,重新生成数据库权限表,但是相应的你也要重新建里用户,以及设置权限; 第二个办法应该将老的权限表的文件拷贝倒相应数据库表对应的目录先即可,但是第二个办法我没有用过只是根据自己的想象猜的。如果有高手请给确认一下是否正 确

时间: 2024-09-24 00:14:17

mysql启动提示mysql.host 不存在,启动失败的相关文章

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

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

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

error 日志当中的记录: [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 从发了帖子,只有人看,没有人回复,看到这种情况只能自己解决问题了,自己动手丰衣足食吗, 嗯... 你还别说,还真让我解决了问题,人啊,都是逼出来的,....没有办法,这个问题对于高手可能是很简单的问题 ,但是对我第一次摸mysql,确实怎么也弄不懂的问题. 好了闲话不多说 说一下我解决

mysql linux-linux上mysql可以正常启动,却打mysql提示错误进不去

问题描述 linux上mysql可以正常启动,却打mysql提示错误进不去 service mysqld start Starting mysqld: [ OK ] [root@chanct201 etc]# [root@chanct201 etc]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '--default-character-set=utf8' (2) [root@chanc

MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法_Mysql

在my.ini(linux下/etc/my.cnf)加上skip-innodb,就可以了. 我这样设置后,在linux下都没问题,今天在我本机winXP启动MYSQL,提示启动不起来.看下mysql目录的错误日志: 引用 090613 10:15:27 [ERROR] Default storage engine (InnoDB) is not available 090613 10:15:27 [ERROR] Aborting 090613 10:15:27 [Note] C:\www\mys

mysql启动提示 access denied for user root@localhost(using password:YES) 解决办法总结

关键是看:Access denied for user 'root'@'localhost' (using password: YES)' 从错误中可以看出你的权限是对localhost的访问没有放开. 于是你可以使用如下命令来放开权限: 解决办法 1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程: 2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:mysql , CMD进入命令行: 3. 运行 D:Program FilesMySQLMySQL Server

MySQL在ArchLinux上的安装与启动

[导读]本文详细介绍了MySQL在ArchLinux上的安装与启动问题. 在ArchLinux上我们可以很容易的来安装MySQL.我们可以通过下面的命令来安装: pacman -Sv mysql 只是这样的一个简单命令,我们就可以在我们的系统安装上最新的MySQL数据库了.当然我们还要做一些下面的工作,才可以使得我们的MySQL服务器可以启动起来. 首先我们要添加mysql用户与组,我们可以通过下面的命令来做到: groupadd mysql (添加mysql组) useradd -g mysq

redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysql服务器端和客户端,修改mysql用户名,登陆mysql,启动关闭mysql

 1 将相关的mysql rpm包上传到redhat上 2  我的电脑是Redhat 6.*版本,所以这里使用上面一个 3  解压zip包 4  安装以下几个rpm MySQL-client-advanced-5.6.20-1.el6.x86_64.rpm MySQL-server-advanced-5.6.20-1.el6.x86_64.rpm 5  查看已经安装过的mysql rpm –aq | grep mysql 结果: mysql-libs-5.1.66-2.el6_3.x86_6

MySQL各存储引擎的区别及其启动方法

存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎.内存存储引擎能够在内存中存储所有的表格数据.又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力). 这些不同的技术以及配套的相关功能在MySQL中被称作

新装MySql后登录出现root帐号提示mysql ERROR 1045 (28000): Access denied

新装MySQL后,首次执行 mysql -uroot -p 后会发现root密码不为空,要重置root密码请参考以下步骤. 编辑mysql配置文件my.ini(如果是my_default.ini请改名为my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql,点击"开始"->"运行"(快捷键Win+R). 1.停止:输入 net stop mysql 2.启动:输入 net start mysql 这时候在