您的位置:首页 > 数据库 > MySQL

MySQL问题总结

2017-04-18 12:22 85 查看
安装mysql时遇到的一些问题,总结一下:

mysql Access denied for user \’root\’@\’localhost\’”错误代码 1045

解决办法:重置root用户密码。

第一步,无密码进入数据库;

1.找到配置文件my.ini(例如D:\MySQL\MySQL Server 5.7\my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql

打开cmd窗口(Win+R)

停止:net stop mysql

启动:net start mysql

登录

mysql -u root -p

出现 password:

这时不用输入密码,直接回车即可进入数据库。输入命令

select user,password from mysql.user

可以看到密码是空的。

2.先关闭正在运行的MySQL服务,在 DOS窗口中转到mysql\bin目录。 执行:

mysqld –skip-grant-tables 回车

命令“–skip-grant-tables” 的意思是启动MySQL服务的时候跳过权限表认证。

然后,再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 执行:

mysql 回车

成功则出现mysql>提示符 。 连接权限数据库: use mysql; 或 输入命令

select user,password from mysql.user

注意:改好之后,再修改一下my.ini这个文件,把刚才加入的 “skip-grant-tables”这行删除,保存退出再重启mysql。

第二步,修改密码;

1.修改密码:update user set password=password(‘123’) where user=’root’ and host=’localhost’

刷新数据库:flush privileges

退出:quit

2.用set password命令

登录mysql之后执行:

格式:mysql> set password for 用户名@localhost = password(‘新密码’);

例子:mysql> set password for root@localhost = password(‘123’);

3.用mysqladmin 命令

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例子:mysqladmin -uroot -p123456 password 123

其他问题汇总:

1.服务无法启动,服务没有报告任何错误:

首先应该查看data文件夹是否存在,若存在则查看错误日志data文件夹下的.err文件。若没有data文件夹, 不要自己创建data文件夹。在cmd安装好mysql之后,先不要启动,输入mysqld –initialize 进行初始化(注意是两个“-”符号)然后就会发现目录下多了一个data文件夹,里面有很多文件。

据官方文档说mysqld –initialize-insecure自动生成无密码的root用户,mysqld –initialize自动生成带随机密码的root用户。data文件夹不为空是不能执行这个命令的。可以先删除data目录下的所有文件或者移走。

也可以在my.ini配置文件中添加

tmpdir = D:/MySQL/mysql-5.7.18-winx64/data

输入net start mysql启动

2.报“Can’t connect to MySQL server on ‘localhost’ (10061)“错误:

说明你的MySQL还没有启动,可删除c:/windowns下面的my.ini文件并在dos下进入MySQL的bin目录执行:

删除服务:mysqld -nt -remove

安装服务:mysqld -nt -install

3.mysql服务正在启动或停止中请稍后片刻再试一次:

任务管理器直接结束mysqld.exe即可。

4.执行mysqld –install时出现The service already exits!报错:

可能是之前安装过mysql,但由于某种原因未卸载干净,重新安装时,会导致此错误的发生。可以执行:

删除之前的版本:sc delete mysql

重新安装:mysqld –install

也可以执行:

卸载mysql服务:mysqld –remove

重新安装:mysqld –install

5.执行net start mysql,服务名无效报错:

可能是mysql没有加入到window的服务中 。可执行:

mysqld.exe –install

net start mysql

6.卸载mysql时注意事项:

卸载mysql时不但要卸载程序、删除安装目录,还需删除注册表中的相关项:

在cmd窗口输入regedit,打开注册表编辑器删除目录:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息