Windows安装mysql方法

一.

本文介绍MySQL的两种安装方法, 
1、 
安装MySQL安装包 
这种方法是目前主流的MySQL安装方法,网上已有很多教程,不再赘述 
2、 
ZIP Archive 版 
2.1、在MySQL官网下载文件包【需要oracle账号】 
2.2、将下载的压缩包解压到文件夹【我的是D:mysql】 
2.3、在解压后的文件夹中编辑配置文件【我的是D:mysqlmysql-5.7.20-winx64】,新建文本文件,命名为my.ini,将下列代码复制进去

[mysql]

# 设置mysql客户端默认字符集为中文

default-character-set=utf8 

[mysqld]

#设置3306端口

port = 3306 

# 设置mysql的安装目录

basedir=D:mysqlmysql-5.6.17-winx64

# 设置mysql数据库的数据的存放目录

datadir=D:mysqlmysql-5.6.17-winx64data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

  

注意:把里面D:mysqlmysql-5.7.20-winx64改成你自己的软件路径) 
2.4、 以管理员身份进入cmd,在控制台输入你的MySQL所在的磁盘【我的是D盘】,直接输入D: 
回车,可以看到此处已经进入了D盘,键入cd,空格,复制MySQL安装路径到命令行【控制台下鼠标右键粘贴】,我的是【D:mysqlmysql-5.7.20-winx64in】,回车,进入D:mysqlmysql-5.7.20-winx64in,键入mysqld install【注意是mysqld不是mysql】,此时mysql已经安装好了 
这里写图片描述 
这里写图片描述 
2.5、启动MySQL服务 
在命令行

我的是【D:mysqlmysql-5.7.20-winx64in】

键入net start mysql启动MySQL服务【关闭是net stop mysql】 
2.6、接着上面,命令行键入

mysql -uroot -p

默认没有密码,直接进入,设置密码:

mysqladmin -u root -p password

键入

show databases

此时可以看到数据库的相关内容,接下来就是数据库操作的事情了;

2.7设置环境变量,使得可以在任意文件夹命令行下打开MySQL 
右键我的电脑->属性->高级系统设置->环境变量->path->编辑,mysql软件下的bin目录路径放里面。最后在那个目录的路径后面加个英文的分号(;)保存。如D:mysqlmysql-x.x.xx-winx64in;

二.

注意:出现以下错误的解决办法:

Mysql 服务无法启动 服务没有报告任何错误

以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),

输入:cd C:Program FilesMySQLMySQL Server 5.6in (根据bin的位置来灵活变动)进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)

输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!) 

安装成功

1.运行mysqld  --initialize(标题问题所在,若没有init则不存在data目录,自然无法启动成功)

2.安装成功后就要启动服务了,继续在cmd中输入:net start mysql,服务启动成功!

服务启动成功之后,就可以登录了,输入mysql -u root -p(第一次登录没有密码,直接按回车过),登录成功!

追加内容:

在安装mysql5.7版本时,经常会遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容:

016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for root@localhost: >mso<k70mrWe

红色字母即为第一次的登陆密码,记得加双引号。

三.

设置(或修改)root用户密码:

默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。

这是很关键的一步。此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。

下面直接演示正确修改root密码的步骤:

  一、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤。

    1. use mysql;  
    2. update user set authentication_string=''  where user='root'
    3. 下面直接演示正确修改root密码的步骤:

  二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:

    1. ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#';

  此处有两点需要注意:1、不需要flush privileges来刷新权限。2、密码最好包含大写字母,小写字母,数字,特殊符号。(不是必须)

  修改成功; 重新使用用户名密码登录即可;

注意: 一定不要采取如下形式该密码:

  1. use mysql;  
  2. update user set authentication_string="newpassword" where user="root";  

这样会给user表中root用户的authentication_string字段下设置了newpassword值;

当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;

因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

至此,安装mysql和修改root密码告一段落。开始navicat for mysql篇。

时间有限,navicat的下载和破解注册就不多讲了 有需要的下面留邮箱,发给你们,下面说说出问题的地方。

账号密码都正确,连接报错1251。OK 我们先来看看这个改动:

在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

so,我们这里需要再次修改一次root密码。

先登录进入mysql环境:执行下面三个命令。(记得带上分号)

1、use mysql;

2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

3、FLUSH PRIVILEGES;

OK.现在再去重连。perfect!

原文地址:https://www.cnblogs.com/zhou0000/p/9307650.html