Windows平台配置5.7版本+MySQL数据库服务

 更新时间:2017年06月29日 10:24:11   作者:幸运卡牌  
这篇文章主要介绍了Windows平台配置5.7版本+MySQL数据库服务的方法,包括初始化root用户密码password的过程以及两个常见问题的解决方法,需要的朋友参考下吧

包括初始化root用户密码password的过程以及两个常见问题的解决方法

1. 下载MySQL zip包

进入[MySQL官网](http://dev.mysql.com/downloads/mysql)按需选择zip包下载并解压,

比如现在我电脑里面下载的是mysql-5.7.17-winx64

http://dev.mysql.com/downloads/mysql/

2. 编辑MySQL配置文件

打开解压的mySQL.zip包,在里面找到my-defalult.ini, 该文件是MySQL的默认配置文件

此处推荐大家复制一份,并改名my.ini

编辑my.ini,此处我只配置了端口,MySQL的安装目录以及MySQL数据库存放目录

 > [mysqld]
  > # 设置3306端口
  > port = 3306
  > # 设置MySQL的安装目录
  > basedir=C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64
  > # 设置MySQL数据库的数据的存放目录
  > datadir=C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\data

3. 安装并配置MySQL服务

使用admin权限打开CMD运行窗口,进入到MySQL的bin目录下执行以下install命令

C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>mysqld -install
Service successfully installed.

运行net start mysql命令打开MySQL服务

net start mysql

PS:问题1

描述:启动MySQL服务失败

C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>net start mysql
The MySQL service is starting.
The MySQL service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534.

解决方法:

通过一些网络上面的搜索得知,版本5.7以后在启动MySQL服务前,需要初始化bin\data目录,

我的做法是:

- 创建bin\data目录,如果存在删掉以前的
  - 在刚刚的admin权限的运行窗口执行初始化命令,以此来生成没有密码的root用户:
    C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>mysqld --initialize-insecure
  - 再次尝试打开MySQL服务,不出意外,会返回success:

    C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>net start mysql
    The MySQL service is starting.
    The MySQL service was started successfully.

检查MySQL服务已经打开

运行net start命令列出所有已经打开的windows服务,在输出中找到MySQL代表成功:

C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>net start
These Windows services are started:
    ...
  MySQL
    ...

4. 初始化root用户密码

进入MySQL

由于我们刚刚生成的root没有附带密码,所以可以通过以下命令免密码进入MySQL

mysql -u root

选择使用MySQL数据库

mysql> use mysql;

通过sql语句查看user表数据, 可以确定目前root无密码

mysql> select user, authentication_string from user;
+-----------+-------------------------------------------+
| user   | authentication_string           |
+-----------+-------------------------------------------+
| root   |                      |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

为MySQL root用户初始化密码

mysql> update user set authentication_string=password('密码') where user='root';
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1

PS:问题2

描述:使用以下命令初始化密码失败

mysql> update user set password=PASSWORD('密码') where user='root';

解决方法:

可以通过查看user表信息得知,在新版的MySQL的user表中,已经去除掉了password字段,

而用authentication_string替换,因此使用该的命令,会返回错误。

再次确认user表下面的root用户信息,可以看到现在root用户已经拥有了密码。

mysql> select user, authentication_string from user;
+-----------+-------------------------------------------+
| user   | authentication_string           |
+-----------+-------------------------------------------+
| root   | *8B62E5775164CCBD6B3F9FFFC5ABCEFGHIGKLMNO |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)

执行flush privileges命令使更改生效

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

退出MySQL

mysql> exit
Bye

使用root密码登陆MySQL

C:\mysql-5.7.17-winx64\mysql-5.7.17-winx64\bin>mysql -u root -p
Enter password: *********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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>

以上所述是小编给大家介绍的Windows平台配置5.7版本+MySQL数据库服务,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • CentOS下编写shell脚本来监控MySQL主从复制的教程

    CentOS下编写shell脚本来监控MySQL主从复制的教程

    这篇文章主要介绍了在CentOS系统下编写shell脚本来监控主从复制的教程,文中举了两个发现故障后再次执行复制命令的例子,需要的朋友可以参考下
    2015-12-12
  • MySQL 处理重复数据的方法(防止、删除)

    MySQL 处理重复数据的方法(防止、删除)

    这篇文章主要介绍了MySQL 处理重复数据的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 探讨:MySQL中如何查询当前正在运行的SQL语句

    探讨:MySQL中如何查询当前正在运行的SQL语句

    本篇文章是对在MySQL中如何查询当前正在运行的SQL语句进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Redis与MySQL的双写一致性问题

    Redis与MySQL的双写一致性问题

    这篇文章只要介绍了Redis与MySQL双写一致性,主要是指在使用缓存和数据库同时存储数据的场景下( 主要是存在高并发的情况),如何保证两者的数据一致性(内容相同或者尽可能接近),感兴趣的同学可以借鉴一下
    2023-03-03
  • MySQL复合查询和表的内外连接示例详解

    MySQL复合查询和表的内外连接示例详解

    在数据库管理和数据分析中,单表查询往往无法满足复杂的数据查询需求,因此多表查询和子查询成为了解决问题的关键技术,MySQL支持多种多表查询方式,如内连接、外连接(左外连接和右外连接)以及自连接,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • 浅谈MySQL中使用IN会走索引吗

    浅谈MySQL中使用IN会走索引吗

    本文主要介绍了浅谈MySQL中使用IN会走索引吗,通过三个案例分析了MySQL 5.7.34版本中IN操作符的执行情况,感兴趣的可以了解一下
    2025-02-02
  • SQL字段拼接成新字段几种常见的方法

    SQL字段拼接成新字段几种常见的方法

    这篇文章主要给大家介绍了关于SQL字段拼接成新字段几种常见的方法,如我们在选择商品的时候不止需要知道商品的名字,还需要商品代码型号等,这个时候需要把这些字段拼接为一个字段进行操作或者输出,需要的朋友可以参考下
    2023-08-08
  • MySQL入门(一) 数据表数据库的基本操作

    MySQL入门(一) 数据表数据库的基本操作

    这类文章记录我看MySQL5.6从零开始学》这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍,基本上就搞定了,前期很难理解的东西基本没有
    2018-07-07
  • MySQL流程控制函数汇总分析讲解

    MySQL流程控制函数汇总分析讲解

    MySQL流程控制函数包括if、case、while、repeat、loop、leave、iterate等,可以在SQL语句中实现条件判断、循环、跳出等功能,提高了SQL语句的灵活性和功能性
    2023-04-04
  • MySQL笔记之系统信息函数详解

    MySQL笔记之系统信息函数详解

    本篇文章对MySQL系统信息函数进行了详解的介绍。需要的朋友参考下
    2013-05-05

最新评论