首先,我是一个小白,学习Python的过程中下载Mysql使用,很多朋友都是Windows的系统配置环境特别麻烦,经过这次Mysql的安装,我真是了解了有多麻烦,真实猛男落泪,好在最后我一个雷一个雷的边踩边排,终于安装成功,期间百度了无数次,竟然没有一个完全解决问题的方法,那我就来整理一下吧,求大神勿喷。
1.下载
安装,当然是去官网安装,https://dev.mysql.com/downloads/mysql/
2.安装
这时候会下载一个压缩文件,你可以把该压缩文件压缩后放在任意位置,但是重点来了,这就是噩梦的开始了,首先我存在了 E:\wln\Mysql 中(你们可以放在任何位置,不过要记住文件夹的地址)。
初始状态下,该文件夹里面没有 data文件夹和 my.ini 文件。
所以我们首先要创建一个my.ini文件。(可以创建一个txt文件再改后缀名。)
里面的内容是:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\wln\Mysql
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=E:\wln\Mysql
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.启动
一切OK我们开始启动Mssql!
3.1
重点来了,我们先要 以管理员身份运行 命令提示符cmd.
进入之后我们要转到我们存放刚刚Mssql文件的文件夹里面。
即E:\wln\Mysql\bin
具体写法是:
Microsoft Windows [版本 10.0.18363.657]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\WINDOWS\system32>cd /d E:\wln\Mysql\bin
这里注意,前面的cd是在本盘符内转换,cd /d是在不同盘符之间转换,因为我没有存到c盘,而是存到了e盘,所以我需要用cd /d。
3.2 初始化数据库
输入mysqld --initialize --console
Microsoft Windows [版本 10.0.18363.657]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\WINDOWS\system32>cd /d E:\wln\Mysql\bin
E:\wln\Mysql\bin>mysqld --initialize --console
但是当你输入完成按下回车的时候会出现一个错误:
由于找不到vcruntime140.dll,无法继续执行代码。
这是Visual C++ Redistributable for Visual Studio 20xx 版本的问题,我的解决办法是卸载了2017(x64)版本,重新下载了2015-2019(X64)的版本,大家电脑里版本各不相同,但是解决办法是一样的。
下载链接在此:
点击跳转
3.3 初始化数据库
这个时候重新输入 输入mysqld --initialize --console再回车,成功进行,并弹出了初始默认密码的提示,
后面的 0rKwl-GbhM+# 即为我的初始默认密码,大家的要自己要记住哦。
2020-02-17T14:04:38.979902Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 0rKwl-GbhM+#
3.4 执行安装命令
mysqld install
上面的界面不要关,在上面的基础上执行mysqld install命令:
这个时候一定要注意的是,如果你没有 以管理员身份运行 命令提示符cmd.
会提示Install/Remove of the Service Denied。
3.5 输入启动命令
net start mysql
在输入net start mysql启动命令。
问题又来了,这个可能会提示
发生系统错误 193。
* 不是有效的 Win32 应用程序。
据 醉人乙 朋友的解释:出现这样的错误就是说:你的电脑默认的mysql执行路径和你新配置的路径不一样。
我个人处理方法是找到 E:\wln\Mysql\bin 里面的 mysqld 的空文件夹并删除。
然后在执行就可以了。
4.最后成功的代码
5. 结语
好吧,这其实至少学习Mysql的第一步,竟然如此艰难。
剩下的问题我们以后在分析,第一次写这个,欢迎大家批评指正。