首先,我想说,我对使用客户机/服务器架构非常陌生,对命令行的使用是初学者,而且以前从未修复过程序。我下载了Windows5.6forWindows764位和MySql工作台。
So everything was working fine at first with logging in, databases working, sql queries, etc. What I wanted to do next was use php to access my database from a webpage. So I Installed Wampserver (which includes Apache, phpmyadmin, and I guess an Api for using mysql with php?) and afterwards I was not able to get into my server at all. 但是,这可能不是因为安装了Wampserver,因为我没有检查它在安装后是否工作。我所做的是,在安装了Wampserver之后,我从Mysqlworkbench中更改了根密码,以便有一个我可以使用的密码。因此,我必须无法连接到服务器,因为(a)我从工作台更改了根登录密码,或者(b)我安装了Wampserver。几个小时以来,我一直在尝试不同的东西,我认为问题可能在于文件。据我所知,如果您想登录到服务器,它首先通过将您的信息与另一个文件进行比较来验证您的信息?我想我可能对我提到的my.ini文件有问题。
当我试图连接时,通常会发生这种情况
owner>mysql -u root -p
Enter password: ********
Error 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)我会列出一些我已经尝试过的东西。有一件事是,我可能需要重置密码,但我已经尝试使用命令行使用
owner>mysql>为'root'@'localhost‘=密码(’pass123‘)设置密码;刷新权限;
顺便说一句,我不确定你是否应该手动键入'>‘,因为我必须在mysql之后输入那个change’>号才能让这个更改密码语句起作用.
在打开mysql服务时,我尝试了这一点。然后,我再次尝试关闭mysql服务,但仍然给出相同的错误,即拒绝访问。
所以我在谷歌搜索后尝试了另一个建议。我关闭了mysql服务,转到Workbench,点击我的根实例,然后它将我带入数据库。然后它告诉我尝试从里面启动服务器,所以我会启动它,但是它会提示我输入密码。来自工作台的消息日志是:
2016-04-15 18:20:46 -工作台将使用cmd shell命令启动/停止此实例。 2016-04-15 18:20:50 -启动服务器. 来自业主-PC.err: 2016-04-15 18:20:52 51636 Note Plugin 'FEDERATED‘被禁用。2016-04-15 18:20:52 c84c InnoDB:警告:不推荐使用innodb_additional_mem_pool_size。这个选项可能会在将来的发行版中被删除,以及选项innodb_use_sys_malloc和InnoDB的内部内存分配程序。注InnoDB:使用原子计算缓冲池页2016-04-15 18:20:52 51636注释InnoDB: InnoDB内存堆禁用2016-04-15 18:20:52 51636注释InnoDB: Mutexes和rw_locks使用Windows互锁函数2016-04-15 18:20:52 51636注释InnoDB:内存屏障不使用2016-04-15 18:20:52 51636注释InnoDB:压缩表使用zlib 1.2.32016-04-15 18:20:52 51636注释InnoDB:不使用CPU crc32指令2016-04-15 18:20:52 51636注InnoDB:初始化缓冲池,大小= 269.0M 2016-04-15 18:20:52 51636注InnoDB:完成缓冲池初始化2016-04-15 18:20:52 51636注释InnoDB:支持最高的文件格式是梭鱼。2016-04-15 18:20:52 51636注: InnoDB: 128个回滚段处于活动状态.2016-04-15 18:20:52 51636备注InnoDB:等待清理开始2016-04-15 18:20:52 51636注InnoDB: 5.6.28已启动;日志序列号10175537 2016-04-15 18:20:52 51636 Note Server主机名(绑定地址):'*';端口:3306-04-15 18:20:52 51636 Note IPv6可用。2016-04-15 18:20:52 51636注-::决定::;2016-04-15 18:20:52 51636 IP上创建的Note Server套接字:'::‘。2016-04-15 18:20:52 51636注释事件调度程序:加载0事件2016-04-15 18:20:52 51636注C:\Program \MySQL服务器5.6\bin\mysqld.exe:就绪供连接。版本:‘5.6.28-日志’套接字:'‘端口: 3306 MySQL社区服务器(GPL) 2016-04-15 18:21:14 -服务器启动完成。~
我认为从工作台启动服务器的目的是让我能够访问用户和特权,但我说如果没有到服务器的连接,我就不能这样做。所以,我不知所措,可能是一些简单的东西,也许我更改pass的语法是错误的,可能是一个文件搞砸了,也许wampserver改变了什么。
值得注意的是,在wampserver文件中,C:\wamp\bin\mysql\mysql5.6.17\bin中有很多与C:\Program Files\MySQL\MySQL Server 5.6\bin中相同的.exe文件。
发布于 2016-04-22 04:36:53
所以我在谷歌上搜索了一下,但我没有做任何尝试。于是我在Youtube上找到了答案。我会在这里发布链接Youtube密码视频,因为它比简单解释,虽然我会给出一个简短的总结。这是通过命令行完成的,并创建了一个名为"mysql-init.txt“的.txt文件。因此,我必须创建一个包含命令的.txt文件来使用mysql并更新mysql.user表,并更新密码,然后刷新权限。然后必须关闭mysql服务器服务。之后,我将"my.ini“文件移到mysql服务器的文件夹中("MySQL服务器5.6”)。然后,使用命令提示符,进入mysql服务器目录。然后我做了这个:
C:\Program Files\MySQL\MySQL Server 5.6>bin\mysqld.exe --defaults-file="my.ini" --init-file="C:\\Users\\Johnny\\Desktop\\mysql-init.txt" --console之后,我只需重新启动mysql服务器服务,新密码就可以工作了。
我使用的是windows 7,其他操作系统可能不一样。不过,这段视频也有一些值得注意的地方。他使用的是一个不同版本的Mysql,所以他的mysql服务器的服务名称只是mysql,但是对于安装了MySQL5.6的我来说,服务的名称是mysql56。另外,在视频中,他的服务器目录中有"my.ini“,但对我来说,它并不存在。读取注释后,"my.ini“文件位于一个隐藏的文件夹中,因此我将文件夹(非常容易)打开,找到"my.ini”,并将其放置在"MySQL Server 5.6“文件夹中。此外,在视频中,他键入了一个非常诡秘的空间,如果人们不密切关注,就会引起一些人的问题。它是:--defaults-file="my.ini"SPACE--init-file=".........“另外,确保您在实际目录中,因为即使系统路径上有mysqld.exe,它也不能与我一起工作,我必须在实际目录中,就像在视频中一样。
https://stackoverflow.com/questions/36659287
复制相似问题