文章目录
前言
废话:由于go语言学习web框架需要使用数据库,之前我都是在虚拟机内Ubuntu安装使用的。但因为某些不堪回首的经历,导致我不想再用这玩意了,也不想用docker。于是开始尝试在Windows上安装MySQL数据库,结果就是一搞一下午,如果你有同样的需求,希望本文能够对你有一些帮助
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据库安装
1.下载
地址:https://dev.mysql.com/downloads/mysql/
安装第一个是Windows(x86,64位),ZIP存档
第二个是Windows(x86,64位),ZIP存档调试二进制文件和测试套件
根据需要下载,两个安装包的数据库功能上没有区别,大包带了Debug等调试扩展,不是是否免安装的区别。如果网速足够快、可以下第二个软件包,后续DEBUG会方便些。网速慢下载第一个就可以完整启动运行MySQL数据库了。
2.安装
第一步:打开下载文件解压到指定文件目录。(我的解压目录为D:\mysql-5.7.24-winx64)
第二步:打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件)[高版本好像不用配置,不过我没试,反正写了没什么影响]
注意:这里需要将basedir 与 datadir 路径改成mysql的解压路径
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
第三步:找到CMD命令提示符,右键以管理员身份运行(注意,必须以管理员的身份打开CMD窗口,否则无法创建mysql服务)
在这一步前的所有操作都是基础操作,后面就该报错了,赣。
第四步:进入mysql子目录bin,依次输入:mysqld --install
(安装) mysqld --initialize
(初始化)net start mysql
(运行)
错误一:‘mysqld’ 不是内部或外部命令,也不是可运行的程序 或批处理文件.
解决方法:https://blog.csdn.net/qq_45725675/article/details/113397247
错误二:Mysql服务启动后立即关闭
解决方法:https://blog.csdn.net/qq_45725675/article/details/113393711
错误三:The service already exists
额,这个就没必要贴链接了,这就是你删库没删干净,按我下面说的方法删的会很干净。
如果真的出现了:
1.终端中输入 sc query mysql
查看为mysql的服务
2.使用 sc delete mysql //这里的mysql是你要删除的服务名
删除这个mysql
(删MySQL的服务就行了,不要大胆尝试其他的哈)
3.ok了
错误四:“MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。”
这个也不贴了,这就是你没初始化生成data文件:
管理员权限下命令窗口–进入MySQL bin文件夹 – 运行命令:mysqld --initialize
(初始化)
如果初始化报错,提示未能创建一个名称为data的文件夹。 那就手动创建一个data文件夹… 路径为你数据库文件夹的根路径,创建目录后再次执行上述命令即可
3.设置mysql登录密码
这一步我搞了很长时间一些没必要的错误就不给大家举例了,直接上我的最流畅的解决方案
-
在net start mysql运行成功后,命令行运行services.msc,找到MySQL查看状态,
-
一切正常的话,cmd下进入mysql - bin目录,输入 mysql -u root -p ,回车,这时候不需要密码即可登录
-
但如果像上图那样需要密码的话,找到你的数据库文件夹,打开那个data文件夹,找到一个.err后缀的文件,打开它(记事本,集成环境都可以)。在它里面找到下面这样一条语句
A temporary password is generated for root@localhost: xxxxxxxx
-
localhost:后面的就是默认密码,复制这个密码即可登录。但登录成功后必须重设密码,否则会一直提示下面这行错误。
You must reset your password using ALTER USER statement before executing this statement.
-
输入 alter user ‘root’@‘localhost’ identified by ‘你的密码’;,成功后退出即可
删库跑路
呐
如果上述问题有真的解决不了的
就可以进入下面的教程
删的干干净净,再来一次!
第一步:停止mysql服务
搜索框搜索 服务(or命令行运行services.msc),将MySQL服务停止。
第二步:卸载mysql server
控制面板–>程序–>程序和功能,将mysql server卸载掉。
第三步:将MySQL安装目录下的MySQL文件夹删除
第四步:搜索框输入“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的文件夹。
如果没有相应的文件夹,就不用删除了。
第五步:删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,
该programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
将整个MySQL文件夹删除掉。。。
第六步:
如果已经将MySQL卸载,但通过“服务”查看到MySQL服务仍然残留在系统服务里。又不想改服务名,改怎么办呢。
只要在CMD里输入一条命令就可以将服务删除:
sc delete mysql
//这里的mysql是你要删除的服务名
这样一来服务就被删除了。
然后,就可以重装MySQL数据库了!!!
它已经干净了!!!