当我遇到这错误的时候,我去网上也找过对应解决方法,出现这个的原因有很多种情况
大多是解决Linux系统里的
我是windows系统里的MySQL服务出问题了,所有那些方法对我来说毫无意义.
好了,说一下我的解决办法,其实也很简单
只需要卸载mysql服务,注册表也要删干净,也要把环境变量删了,卸载之前做好数据备份,再去安装MySQL服务
重点来了: 在配置MySQL服务和数据存储路径时,要保存在系统指定的默认路径下,不然很有可能
导致再次报同样的错
具体操作可以往下观看:
MySQL数据库的卸载
步骤一:软件的卸载准备
学习网络编程时,TCP/IP协议程序有服务器端和客户端。mysql这个数据库管理软件是使用TCP/IP协议。我们现在要卸载的是mysql的服务器端,它没有界面。
【计算】-->右键-->【管理】-->【服务】-->【mysql的服务】-->【停止】
步骤二:软件的卸载
方式一:通过控制面板卸载
步骤三:清理残余文件
如果再次安装不成功,可以卸载后对残余文件进行清理后再安装。
(1)服务目录:mysql服务的安装目录
(2)数据目录:默认在C:\ProgramData\MySQL
如果自己单独指定过数据目录,就找到自己的数据目录,例如:
注意:请在卸载前做好数据备份
在操作完以后,需要重启计算机,然后进行安装即可。如果仍然安装失败,需要继续操作如下步骤四。
步骤四:清理注册表(选做)
如何打开注册表编辑器:在系统的搜索框中输入regedit
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL服务 目录删除
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL服务 目录删除
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL服务 目录删除
-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL服务 目录删除
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL服务目录删除
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL服务删除
注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类
步骤五:清理服务列表中的服务名
如果在windows操作系统,删除注册表后,在服务列表中仍然存在原来的服务名,可以通过如下命令删除(必须是以管理员身份运行才能删除)
sc delete 服务名
步骤六:清理原来的环境变量
找到path环境变量,将其中关于mysql的环境变量删除,切记不要全部删除。
例如:删除 C:\ProgramFiles\mysql\MySQLServer5.7\bin; 这个部分
MySQL数据库的安装
-
双击
mysql-installer-community-5.7.28.0.msi
,进入安装界面后选择Custom自定义安装,点击Next -
在左侧目录中选择MySQL Server 5.7.28 -X64,点击
→
加载到右侧,再点一下右边要安装的产品名 ,在右下角会出现Advanced Options,单击它可以设置安装路径 -
这里选择默认位置,下图是自定义位置(不用管),点击OK。注意,安装目录避免空格和中文
-
点击Next下一步
-
点击Execute执行安装
有的可能会出现提示需要先安装C++动态库等,那就先安装C++动态库,没有提示说明操作系统中有你需要的动态库。
-
安装完成,点击Next下一步
-
点击Next下一步
-
点击Next下一步
-
将MySQL配置类型选择Development Computer开发电脑设置,点击Next下一步
-
设置MySQL密码,因为管理员用户为root,学习初期建议将MySQL数据库密码也设置为root,设置完成后,点击Next下一步
-
设置Windows Service 系统服务,设置完毕后点击Next下一步
-
日志设置,不做任何修改,点击Next下一步
-
高级设置,不做任何修改,点击Next下一步
-
点击Execute执行设置
-
安装完成,点击Finish完成
MySQL数据库服务的启动和停止
MySQL软件的服务器端必须先启动,客户端才可以连接和使用使用数据库。
方式一:图形化方式
-
计算机(点击鼠标右键)==》管理(点击)==》服务和应用程序(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)
-
控制面板(点击)==》系统和安全(点击)==》管理工具(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)
-
任务栏(点击鼠标右键)==》启动任务管理器(点击)==》服务(点击)==》MySQL57(点击鼠标右键)==》启动或停止(点击)
方式二:命令行方式(以管理员身份运行cmd)
启动 MySQL 服务命令:
net start MySQL57
停止 MySQL 服务命令:
net stop MySQL57
MySQL数据库环境变量的配置
环境变量名 | 操作 | 环境变量值 |
---|---|---|
MYSQL_HOME | 新建 | C:\Program Files\MySQL\MySQL Server 5.7 |
path | 编辑 | %MYSQL_HOME%\bin |
或者直接
环境变量名 | 操作 | 环境变量值 |
---|---|---|
path | 编辑 | C:\Program Files\MySQL\MySQL Server 5.7\bin |
MySQL数据库客户端的登录
方式一:MySQL自带客户端
开始菜单==》所有程序==》MySQL==》MySQL Server 5.7==》MySQL 5.7 Command Line Client
说明:仅限于root用户
方式二:命令行
mysql -h 主机名 -P 端口号 -u 用户名 -p密码
例如:mysql -hlocalhost -P3306 -uroot -proot
注意:
(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格
mysql -hlocalhost -P3306 -uroot -proot
(2)密码建议在下一行输入
mysql -h localhost -P 3306 -u root -p
Enter password:****
(3)如果是连本机:-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略
简写成:
mysql -u root -p123456
连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。
也可以在命令行通过以下方式获取MySQL Server服务版本的信息
或登录后,通过以下方式查看当前版本信息:
方式三:可视化工具(建议使用)
例如:Navicat Preminum,SQLyog 等工具
还有其他工具:mysqlfront,phpMyAdmin
修改my.ini配置文件(重点)
该文件在你配置的MySQL的数据存储路径下
ProgramData是隐藏文件,需要打开显示隐藏文件的功能
在路径:C:\ProgramData\MySQL\MySQL Server 5.7 找到my.ini文件
修改内容1: 找到[mysql]命令,大概在63行左右,在其下一行添加 default-character-set=utf8 修改内容2: 找到[mysqld]命令,大概在76行左右,在其下一行添加 character-set-server=utf8 collation-server=utf8_general_ci 修改完毕后,重启MySQL57服务
cmd上登录MySQL服务,查看编码和排序方式,最后面的 ; 分号不能少
show variables like 'character_%';
或者:show variables like'%char%';
show variables like 'collation_%';
-
如果框里是一样的就说明配置对了