服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|

解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题

2019-06-18 10:37color_小浣熊 Mysql

这篇文章主要介绍了Windows环境下安装 mysql-8.0.11-winx64 遇到的问题及解决办法 ,需要的朋友可以参考下

下载mysql安装包,我的是下载mysql-8.0.11-winx64,解压到你想安装的目录下,然后配置环境(window环境下,mac本还没试过),

1、首先,配置环境:右击此电脑->属性->高级系统设置->环境变量->path->新建 ,然后将自己的路径添加进去(例如我目录:F:\mysql\mysql-8.0.11-winx64),除此之外还要看解压的压缩包内是否有my.ini文件或者my-default.ini文件,如果没有需要自己写一个在根目录下,默认的配置信息如下:

查看所有的配置项,可参考:https://dev.mysql.com/doc/refman/8.0/en/mysqld-option-tables.html

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=F:\mysql\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录(此目录会在之后进行命令生成,无需手写)
datadir=F:\mysql\mysql-8.0.11-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

2、然后打开终端,window+r 然后输入cmd 打开终端并切换到该路径下,并执行命令 mysqld --initialize 检查当前环境,如果没有任何报错,打开你的目录你会看到你的根目录会出现data文件夹;说明一切正常

解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题

注意这一步可能会遇到一些报错信息,例如弹出“ 由于找不到vcruntime140.dll,无法继续执行代码,重新安装程序可能会解决此问题 ”等问题,说明你的电脑缺少一些必要的文件,这时要打开控制面板查看C++ 2015具体信息,

 解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题

我的是因为之前没有x64位的C++,所以缺少文件,如果你的有,那么可点击卸载,它会提示你让你进行修复,点击修复,完成,就可以继续在终端输入命令;

初始化数据库

mysqld --initialize --console

这时会打印如下error,意思是已经有了data目录了,只要把他删除就好,

F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T09:26:35.244245Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 980
2018-10-29T09:26:35.287469Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2018-10-29T09:26:35.299110Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-10-29T09:26:35.302159Z 0 [System] [MY-010910] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.11)  MySQL Community Server - GPL.

再次执行上面命令,会打印用户的初始密码,其中@localhost : XXXXXX就是默认密码,需要记住,如果没有记住,就将后来生成的data文件删除,再次生成也是可以的

F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T09:28:49.177043Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 12980
2018-10-29T09:29:19.270535Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kw3AlnY_g.Dg
2018-10-29T09:29:41.684599Z 0 [System] [MY-013170] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed

3、然后安装服务, mysqld --install[服务名] 如果只有一个服务可以不写默认mysql,如果多个服务可以写具体的服务名称,XXXX,当回车之后,又出现错误, install/remove of the service deined,这是由于运行cmd的时候不是用管理员的身份运行的,只要再次以管理员的命令运行cmd就可以了,出现service successfully installed 说明服务安装好了。

F:\mysql\mysql-8.0.11-winx64\bin>mysqld --install
Service successfully installed.

4、启动服务,运行命令 : net start mysql ,看到服务已经启动成功

F:\mysql\mysql-8.0.11-winx64\bin>net start mysql
MySQL 服务正在启动 ....
MySQL 服务已经启动成功。

5、更改密码和密码认证插件 ,

在MySQL安装目录的 bin 目录下执行命令:mysql -u root -p

F:\mysql\mysql-8.0.11-winx64\bin>mysql -u root -p
Enter password: *******
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

这时要重新生成密码,删除data目录,运行mysqld --initialize --console,

F:\mysql\mysql-8.0.11-winx64\bin>mysqld --initialize --console
2018-10-29T10:04:23.337650Z 0 [System] [MY-013169] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 7928
2018-10-29T10:05:19.210237Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: RXZG!fJR2Ly+
2018-10-29T10:06:00.603070Z 0 [System] [MY-013170] [Server] F:\mysql\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed

重新执行mysql -u root -p,填入密码(注意密码左右没有空格),这时会打印出相关的信息

F:\mysql\mysql-8.0.11-winx64\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.11

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

修改用户密码,在MySQL中执行命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';,出现下面情况就证明你已经修改成功。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '5502yulijian.';
Query OK, 0 rows affected (0.17 sec)

show databases; (‘;'一定要加)

解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题

这样就可以了

总结

以上所述是小编给大家介绍的解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

延伸 · 阅读

精彩推荐
  • Mysql详解mysql中的concat相关函数

    详解mysql中的concat相关函数

    这篇文章主要介绍了mysql中的concat相关函数,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    码农Robin3292019-06-15
  • Mysql如何使用MySQL一个表中的字段更新另一个表中字段

    如何使用MySQL一个表中的字段更新另一个表中字段

    这篇文章主要介绍了如何使用MySQL一个表中的字段更新另一个表中字段,需要的朋友可以参考下...

    脚丫先生3022019-06-17
  • Mysql使用MySQL的geometry类型处理经纬度距离问题的方法

    使用MySQL的geometry类型处理经纬度距离问题的方法

    这篇文章主要介绍了使用MySQL的geometry类型处理经纬度距离问题的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Shawn4662019-06-09
  • MysqlMySQL数据库列的增删改实现方法

    MySQL数据库列的增删改实现方法

    这篇文章主要介绍了MySQL数据库列的增删改实现方法,结合实例形式分析了mysql数据库针对列的增加、修改、删除等相关操作sql命令及使用技巧,需要的朋友可以参考下...

    小菜鸟有大梦想1852019-06-02
  • Mysqlmysql中的锁机制深入讲解

    mysql中的锁机制深入讲解

    对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。下面这篇文章主要给大家介绍了关于mysql中锁机制的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...

    木瓜芒果3732019-06-16
  • Mysql浅谈mysql使用limit分页优化方案的实现

    浅谈mysql使用limit分页优化方案的实现

    在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦。感兴趣的可以一起来了解一下如何实现优化...

    爱情小傻蛋4452019-06-12
  • Mysql基于MySQL数据库的数据约束实例及五种完整性约束介绍

    基于MySQL数据库的数据约束实例及五种完整性约束介绍

    今天小编就为大家分享一篇关于基于MySQL数据库的数据约束实例及五种完整性约束介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    李西召4572019-06-11
  • MysqlMySQL中int最大值深入讲解

    MySQL中int最大值深入讲解

    这篇文章主要给大家介绍了关于MySQL中int最大值的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...

    haoyq4752019-06-06