错误一:使用安装器安装到Apply Configuration步骤,initializing database(may take a long time)时出现错误
解决方法:
点击Log,看下报错日志


1、 如果Log有中文乱码,就表示电脑用户名或者账户名有中文
1.1、账户名称是否为中文:可以打开控制面板->用户账户,看到自己的账户名称,或者在cmd命令行默认目录看到自己的账号名称。如果是账号名称为中文,建议采取zip压缩包方式的安装方法,把mysql安装在一个没有中文的目录下面
mysql安装文档(zip压缩包方式):https://docs.qq.com/doc/DZnhSWUp2TEJqVnZ0
这里Administartor表示我当前的账户名称

这里25269表示我当前的账户名称

1.2、电脑名是否为中文:打开设置,找到主页或者系统查看名称–>更改计算机名和组名为英文–>重启计算机,然后重新安装mysql

2、如果不是中文问题,且之前安装过mysql,可能是之前安装的mysql没有清理干净,参考下方文档进行清理
https://docs.qq.com/doc/DZkhSRGRIZnBRWWZD
错误二:start mysql server卡了很久,然后显示失败
在使用mysql安装器安装时,在Apply Configuration步骤中,卡在Start mysql server这一步,等了很久后失败

解决方法:
1、mysql安装器先点击Back回到上一步
2、 尝试打开服务,找到mysql,右键点击属性,选择登陆,选择本地系统账户,然后确认
3、 回到mysql安装器,点击下一步继续执行


错误三:在cmd命令后输入mysql相关的命令,提示命令不存在或者error in your SQL syntax
可能的原因:
1、 检查命令是否有拼写错误:mysql
2、 检查是否在>中重复输入了命令,很多同学在输入mysql命令时忘记加;分号,按回车后会出现一个>让你继续输入命令,在这里输入的命令是会被拼接在之前的命令后面的,很多同学会重复输入一遍命令,所以会报错,如果漏了个;分号,在>后面输入;分号就行了


3、 检查mysql环境变量是否配置好,没配置环境变量的话在默认的cmd目录是无法使用mysql命令的
4、 如果是刚刚安装好mysql,且在安装好mysql之前打开的cmd命令行中执行mysql命令时提示命令不存在,那就需要重新打开一个cmd命令行来执行mysql命令
错误四:在cmd命令行执行部分命令时 提示拒绝访问
比如在执行net start或者net stop命令时经常出现这种问题

解决方法:
使用管理员权限运行cmd命令行,再执行相关命令

错误五:在使用压缩包方式安装时,执行mysqld --initialize的命令报错
如下图所示,报错是xxx data is unusable,表示data这个文件夹有问题,通常是之前执行过一次mysqld --initialize命令,导致data文件夹有文件了,重复执行这个命令就会报这个错,可以把data文件夹下面的文件全部删掉,保留data文件夹,然后再重新执行mysqld --initialize命令,得到临时密码。
如果删除data文件夹里面文件时报错提示有文件在使用中,应该是mysql服务在用,需要使用打开服务,找到mysql,然后右键点击停止,然后再删除


错误六:打开mysql安装器报错the installer encounter.... the error code is 2503
解决方案:
1. 右键点击安装包,选择【属性】选项

2. 进入属性对话框,点击上方的【安全】选项,然后选择当前电脑用户(一般是Administrators或者Users),点击右下角【编辑】

3、进入编辑栏,将下方权限处的【完全控制】勾选,然后点击确定,进行安装即可

错误七:安装完mysql后,使用设置好的密码在命令行进行登录时,提示密码错误

解决方法:有可能是密码设置没有成功,或者是之前下载过mysql,有冲突问题,可以尝试无密码登录,如下图,在输入密码的时候不用输入任何内容,直接按下确认键,此时可能就能登录

登录后使用修改密码的命令修改密码即可
alter user 'root'@'localhost' identified by '123456';
错误八:mysql workbench连接mysql后,点击Server Status报错
Could not acquire management access for administration
Target host is configured as Windows, but seems to be a different Os......
解决办法:一般是由于编码问题导致的,找到workbench的安装目录
比如:C:\Program Files\MySQL\MySQL Workbench 8.0 CE\workbench下的os_utils.py
找到下面的utf-8改成gbk保存,然后重新打开workbench即可
process = subprocess.Popen(command, stdin = subprocess.PIPE, encoding="utf-8", stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell=True) process = subprocess.Popen(command, stdin = subprocess.PIPE, encoding="gbk", stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell=True)
错误九:启用mysql服务失败,一直卡在start pending状态,无法重新点击启用或者停止
解决方法:
1、一般是修改过my.ini文件,改动了它的编码格式,需要改回ANSI编码格式:另存为,保持原来的名字,编码格式选择ANSI
2、然后在命令行中kill掉mysqld的进程,然后重启mysql服务


// 查找mysqld的进程ID
tasklist | findstr mysql
// kill掉进程
taskkill /F /PID 进程ID红框中的就是mysqld相关的进程ID,一般只有一个,kill掉即可(我这里是安装了多个mysql服务)

错误十:mysql本来可以使用,电脑关机后重新打开就不能用了,一般报错can't connect to server on xxx,如下图是navicat连接的时候报错

解决方法:可能是mysql没有设置自动启用,重启电脑后mysql服务就停止了,在服务中找到mysql,双击打开,启动类型选择自动
然后点击启用,确定即可
Win+R打开运行,输入services.msc然后确认就可以打开服务页面

错误十一:启用mysql服务到一半失败
可能是之前安装过mysql,占用了当前的端口(一般是3306)
解决方法:
1、netstat命令查询3306端口是否被占用,如果被占用,一般就是有其他mysql服务占用了
2、 可以用tasklist命令查看进程对应的服务名称,一般是mysqld.exe
3、 然后可以用taskkill删除进程
4、 再次启动mysql服务即可
名称
tasklist | findstr 进程号
// 删除进程
taskkill /pid 进程id -t -f

错误十二:mysql 登录报错1449
mysql 登录报错1449-The user specified as a definer(‘mysql.infoschema‘@localhost‘) does not exist:
解决方法:
1.进入mysql
mysql -u root -p2.删除之前的视图表:
drop user `mysql.infoschema`@"localhost";(mysql.infoschema@"localhost"是连接时报错的用户与地址)
3.刷新权限:
flush privileges;4.创建缺少的视图表
create user `mysql.infoschema`@"localhost" identified by '自己定义的密码';('123456’为自己的数据库的连接密码)
5.再刷新权限:
flush privileges;6.使用数据库:
use mysql;7.设置权限:
update user set Select_priv = 'Y' where User = 'mysql.infoschema';( 用户名是报错的用户名)
8.刷新权限
flush privileges;再次连接成功!
错误十三:安装时报错Invalid (old?) table or database name '系统'
可能是移动了系统缓存文件,在你的电脑,找一找是不是有一个叫系统缓存的文件夹,可能是你移动过
解决方法:可以在任意目录新建一个文件夹,用英文命名,比如xitong,然后在系统环境变量中修改temp的环境变量(把之前设置为系统缓存的相关变量都改成xitong文件夹的路径),然后重试
其他问题解决思路:
mysql相关的问题远远不止上面列出的这些,无法枚举完全,但是遇到问题时,解决的思路有几点
1、 命令是否拼写正确,拼写不正确一般会报命令不存在、不是内部命令等错误,比如下面的例子:
// 登陆命令,注意空格和横杠(-)的位置和数量
// -u后面可以有空格,也可以没有空格,-p后面不能有空格
mysql -uroot -p123456
mysql -u root -p123456
// 压缩包方式的安装命令,注意mysqld后面有一个空格
mysqld -install
// 展示数据库
// 别忘了最后面的s,还有分号
show databases;2、 中文问题,检查电脑名称和账户名称是否是中文,检查mysql相关的目录是否是中文等,建议都改成英文,改完后可能需要重启电脑
3、 权限问题,很多问题是因为权限不足导致的,比如在cmd命令行执行某些命令失败,可能是没有用管理员权限打开。或者安装器打开失败,可能是当前电脑用户没有安装器的操作权限,需要右键属性,找到安全去添加当前用户的权限


4、残留问题,如果之前安装过mysql,可能有残留的配置,导致报错,再次安装时,需要把残留的mysql先清理干净,可以参考下面的文档进行清理:https://docs.qq.com/doc/DZkhSRGRIZnBRWWZD
需要咨询或者辅导可以联系作者,微信:j54908