一、安装过程

《1》5.7及以上

Mysql社区版下载地址:http://dev.mysql.com/downloads/mysql/

--注意,已管理员身份运行cmd.exe,很重要!!目录在,cmd.exe文件在 c:\windows\system32下。。

或者如下图,搜索出来,右击以管理员身份运行,win10也有搜索功能的。

  

  

  因为我的系统版本是64,因此这里下载x64版本。下载完之后解压至  E:\sql_data\mysql-8.0.16-winx64(即为mysql的自定义解压目录。)

我的习惯是下载完之后首先注册系统服务。CMD打开命令提示符,进入到 E:\sql_data\mysql-8.0.16-winx64,把MySql安装为服务:

步骤前置:进入到mysql解压目录

为了解决默认服务路径的问题,建议进入到解压目录下再执行步骤一,否则必定报错误【4】,操作如下:

  【1】进入dos窗口下  【2】e:  【3】cd e:\sql_data\mysql-8.0.16-winx64\bin

    

步骤一:把mysql安装为服务

执行:mysqld.exe -install mysql ( 安装完成后先不要启动服务,因为会报错 )

参考 : mysqld.exe -install "Mysql"  --defaults-file = 'e:\mysql\data\my.ini'  --initialize  --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'

步骤二:添加环境变量

操作如下:

  ①右键单击我的电脑->属性->高级系统设置(高级)->环境变量

    

  

  ②选择系统变量中的Path ,点击编辑按钮

   在变量值中添加变量值:;D:\Dev\Mysql\bin (需要注意的是要在原有变量值后面用 ; 隔开,不能删除原来的变量值,前面给出的代码分号以及要记得一起复制上去哦)

    

步骤三:配置mysql.ini文件

E:\sql_data\mysql-8.0.16-winx64\my-default.ini 文件复制一份重命名为my.ini

我没有这个文件my-default.ini,那我自己新建了一个文件my.ini(怎么新建?直接新建一个txt文件,然后修改名字为my.ini就好了,要是发现自己新建的文件没有.txt后缀,那么设置文件夹查看不隐藏已知文件扩展名即可)

然后编辑这个文件,内容用以下配置替换,内容代码如下

[mysqld]
#shared-memory
#skip-grant-tables sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 设置3306端口
port=
# 设置mysql的安装目录
basedir=E:\\sql_data\mysql-8.0.-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\\sql_data\mysql-8.0.-winx64\\data
# 允许最大连接数
max_connections=
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=
# 服务端使用的字符集默认为UTF8
#character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
secure_file_priv=
# 8.0以上版本可以加上这条,如果加上这条,那么mysql8初始化密码就为空了
# 修改默认密码的加密方式
#default_authentication_plugin=mysql_native_password
 [mysql] # 设置mysql客户端默认字符集 #default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=

  注意对应修改你的 datadir 和 basedir 为你自己的自定义目录。

  比如我的就是 E:\sql_data\mysql-8.0.16-winx64   ,但我们需要用  \\来代替\(如上面配置文件代码中写的那样),或者使用 / 来代替 \ 。

  注意,文件应该是ansi编码,如果你是直接新建的则无需理会该条注意信息,后续如果有初始化相关报错再回来看这一条。


步骤四:初始化Mysql

  这也是跟之前版本最大的区别:从5.7.7开始,windows下的安装包不包含data目录,在启动服务之前需要先初始化数据:

  以管理员身份打开cmd,

    执行:mysqld --initialize --console

       ( --initialize-insecure  可以让默认root用户设置为空密码)

    参考:mysqld --defaults-file = 'e:\mysql\data\my.ini'  --initialize  --basedir='e:\mysql\mysql57' --datadir='e:mysql\data\data'

  (1)执行完这条命令后,MySQL会在根目录自建一个data文件夹(注意啊,如果报错找不到data目录,那么需要新建配置文件中指定的目录  datadir=D:\\dev\\mysql\\data )

  (2)因为我们加了 --console参数,所以初始化信息会打印出来,如下图,我们的临时密码就是这个。

    

        找到密码,输入密码进入,root是用户名。注意,如果屏幕上没有打印出密码(如果没有加上--console参数),那么就在【3】中的 datadir=D:\dev\mysql\data 目录下,会有个 计算机名.err 的文件,去那里头找密码

  (3)再输入 net start mysql 启动服务,OK启动成功

    

      然后利用临时密码登录。

步骤五:登陆Mysql数据库

    (1)可能会出现的问题

                如果没做步骤前置

多半会出现-》启动mysql服务提示找不到指定文件,修改注册表路径(参考报错处理4-》在本文末尾)

(2)登陆Mysql数据库

  输入mysql -u root -p ,默认是没有密码的(mysql5.6及之前),直接回车即可。

 但mysql5.7及以上均有密码,默认按照上面的初始化命令密码会出现在屏幕上(【4】中执行的初始化命令:mysqld --initialize-insecure --console)。

找到密码,输入密码进入,root是用户名。注意,如果屏幕上没有打印出密码(如果没有加上--console参数),那么就在【3】中的 datadir=D:\dev\mysql\data 目录下,会有个 计算机名.err 的文件,去那里头找密码

  此时使用show databases;  已经可以看到初始化生成的默认数据库了

(3)修改root账户密码

  连接进入mysql数据库后,用以下命令修改密码

5.7 修改密码的方法

  alter user 'root'@'localhost' identified by '123456';
  flush privileges;

8.0+修改密码的办法

  alter user root@'localhost' identified with mysql_native_password by '123456';

  

(4)退出再次登录,使用新密码就行了:

  mysql -u root -p 123456

    

    (5)创建可以远程登录的root账户

      用默认root登录进Mysql账户后

        <5.7+> create user root@'%' identified by '123456';

              grant all privileges on *.* to root@'%'

        <8.0+> create user 'root'@'%' IDENTIFIED WITH mysql_native_password by '123456';

              grant all privileges on *.* to root@'%'

《2》5.6及以下

很简单:

1.解压

    比如我解压到这里 E:\sql_data\mysql-5.6.20-winx64

2.设置环境变量

(1)打开环境变量:右键单击我的电脑->属性->高级系统设置(高级)->环境变量

      

(2)修改path:直接把这个 ;E:\sql_data\mysql-5.6.20-winx64\bin   加入到 环境变量path最末尾就好(记得啊,这个分号不要忽略掉啊)

      

3.构造配置文件my.ini

  复制 mysql5.6文件下的 my-default.ini

    

  一定要写 / 这个斜杆,或者 \\

[mysqld]
basedir =e:/sql_data/mysql-5.6.20-winx64
datadir =e:/sql_data/mysql-5.6.20-winx64/data
port = 3306
server_id = 10

 不然可能会报错如下:

很明显从最后一行信息可以看出,连路径信息都缺了

 e: ql_data\mysql-5.6.20-winx64\data\ibdata1 
Plugin 'FEDERATED' is disabled.
Can't open the mysql.plugin table. Please run mysql_upgrade to create it --报错行
InnoDB: Using atomics to ref count buffer pool pages
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Memory barrier is not used
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Not using CPU crc32 instructions
InnoDB: Initializing buffer pool, size = 4.0G
InnoDB: Completed initialization of buffer pool
InnoDB: File e: ql_data\mysql-5.6.20-winx64\data\ibdata1: 'create' returned OS error 103. Cannot continue operation --报错行

4.把mysqld安装成mysql56服务

以管理员身份打开cmd

输入如下命令:

e:

E:\sql_data\mysql-5.6.-winx64\bin\mysqld.exe install mysql56 --defaults-file=E:\sql_data\mysql-5.6.-winx64\my.ini

  

5.启动服务,登录

启动服务:直接net start mysql56

登录mysql:mysql -uroot -p

然后enter password:  直接敲回车就好

  

6.修改密码

可以看《1》中的步骤五种的(5)

我们这里只改当前账户密码(当前账户就是 root@localhost)

  set password=password('你的密码')

比如我这里改密码为 123456

后面这句 flush privileges 对于新手而言 执行也可以不执行也行;

  

7.创建远程登录root账户

上面那个系统自动的root@localhost账户,只能你本地机器使用localhost 或者 127.0.0.1 登录的,使用自己机器的地址以及其他机器都不能登录的。如下图:

  

  

这个时候你可以创建一个允许远程登录的root账户;也就是 root@%

  

  create user root@'%' identified by '123456'; -- 这个密码不必和上面的 root@localhost的密码一样

  grant all privileges on *.* to root@'%';

如下图:创建后,就可以用IP登录了。

  

二、报错处理

1.dll缺失

少什么下载什么。

如果您的系统提示“找不到msvcr120.dll ”或“msvcr120.dll 丢失” 或者“msvcr120.dll 错误”的问题,下载本文件复制到*/Windows/SYSTEM32下,即可正常运行程序。

dll文件如何安装

通常是将dll文件复制到“ X:Windowssystem32 ” (X代表您系统所在目录盘符,如:C:Windows\system32 ) 目录下。

    

2.文件缺失

在重装mysql数据库(解压版)遇到了几个棘手的问题,经过查阅资料,不断实践解决了上述两个问题,现将办法分享一下。 
1、无法正常启动(0xc000007b)? 
在cmd控制台,mysql的安装路径下使用mysql install命令出现以下无法正常启动(0xc000007b)的错误,如图: 
     
解决:在百度上下载DirectX修复工具(增强版),修复即可。 
链接:http://www.pc6.com/softview/SoftView_57945.html 
注意,需下载增强版,这样可以修补系统相关的C++组件。 (一定要加强啊,不然要多重启一遍


2、初始化失败 
在mysql install命令运行成功后,接着运行mysqld –initialize命令完成数据库初始化功能,这是遇到了error: Found option without preceding group in config file: /data/3307/my.cnf at line: 1 
     
原因:my.ini文件格式是utf-8 
解决办法,my.ini文件保存为ANSI格式文件 
     
3、安装解压版mysql时,密码忘记了怎样重置?

3.1 用户登录 
mysql -uroot -p (直接点击回车,密码为空) 
3.2 选择数据库 
use mysql; 
3.3 重置密码 
在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码 
update user set authentication_string=password(‘123456’) where user=’root’; 
3.4 执行 
flush privileges;

4、最后运行net start mysql命令 
    

3.创建失败,permission denied

    请已管理员身份运行。

4.启动mysql服务提示找不到指定文件

(转自:https://jingyan.baidu.com/article/91f5db1bd298ed1c7f05e315.html)

  

在安装mysql后,如果你选择的路径不对或者是绿色版免安装的,安装完成后,可能会出现无法连接服务,主要就是你mysql服务没有开启,但是你在windows的服务中也找不到mysql的服务。这是你需要安装mysql的服务,并开启它。

如果你是5.0的版本,先用cmd进入mysql的文件目录下的bin目录执行:mysqld-nt.exe -install

如果是5.1之后的版本命令:mysqld.exe -install

可以看到我是已经安装他会提示你已经安装了,如果没有就会提示成功安装。

接下来在服务列表就可以找到mysql的服务了!!!有问题你直接启动服务就可以,连接上mysql了,不过有时因为你安装的目录不是默认的或者你之前安装过和之前的目录不一致,当你启动会出现  

    

这是由于你服务的路径和你安装的路径不一致造成的,你需要修改下注册表,首先打开注册表 ,cmd输入regedit就可以了

    

找到mysql服务的注册表,如上图,修改其中imagePath变量就行了

    

路径就是你mysqld.exe所在的路径

这样mysql服务就启动了

5.mysql8.0无法远程连接,无法使用navicat链接

参考:mysql8无法用navicat连接(mysql8加密方式的坑)

直接修改密码即可,不要过加上 with mysql_native_password

(1)方法1:案例推荐使用

  alter user '用户名'@localhost IDENTIFIED WITH mysql_native_password by '你的密码';

(2)方法2:初始化之前,在配置文件中设置好默认加密方式

# 8.0以上版本可以加上这条
# 修改默认密码的加密方式
#default_authentication_plugin=mysql_native_password

6.初始化错误,找不到 MSVCP140.dll

  

  

说明没有安装VC++2015运行库,MySQL运行需要这个运行库,可以去微软官网下载,大概实十几M大小。

进入微软官网搜索并下载

VC++2015下载
  
 

相关文档:

mysql8.0 安装 修改密码 允许远程连接https://www.cnblogs.com/xyabk/p/8967990.html#4436207

windows下的Mysql安装与基本使用(zip)的更多相关文章

  1. windows下的Mysql安装与基本使用(msi)

    一.安装方式 1.msi(其他版本:https://www.cnblogs.com/zjiacun/p/6653891.html) 2.zip 这里我们用msi吧,只是单纯练习的话,简单很多 二.ms ...

  2. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  3. windows下的mysql客户端mysqlworkbench链接虚拟机上CentOS的mysql服务器

    本人在虚拟机上CentOS的Linux环境下安装了mysql服务器,在本地Windows下安装了mysql的客户端mysqlworkbench ,所以就想让windows下的mysql客户端mysql ...

  4. 解决windows下的mysql匿名登陆无法使用mysql数据库的问题

    原文:解决windows下的mysql匿名登陆无法使用mysql数据库的问题 我在windows下安装了mysql,但是不用密码就能登进去,而root明明是有密码的,我用select user()命令 ...

  5. windows下忘记mysql的root密码解决方法(图文)

    在windows下忘记mysql的root密码对于很对新手来说,也是会经常遇到的,我也刚好遇到啦,参考网上的解决办法,自己又整理啦一下. 1.首先需要查看mysql的服务是否启动. 打开cmd窗口,输 ...

  6. MySQL5.7.25(解压版)Windows下详细的安装过程

    大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...

  7. windows下启动mysql服务

    当你无法连接你的mysql数据库时,或者因为某些原因导致与mysql数据库的连接丢失时,可通过以下方式启动mysql服务 1.命令行下启动mysql服务 以管理员身份运行cmd,进入mysql安装目录 ...

  8. CentOS和Windows下配置MySQL远程访问的教程

    CentOS和Windows下配置MySQL远程访问的教程   一.前言 由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentO ...

  9. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...

随机推荐

  1. Ajax同步与异步优缺点与使用

    一.什么是同步请求:(false)       同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能 ...

  2. Fatal error compiling: 无效的标记: -parameters

    [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ...

  3. [转]C++ error C2011: “XXX”:“class”类型重定义

    http://blog.csdn.net/m_leonwang/article/details/27678219 尝试修复这个程序的错误: 点击下载源代码文件夹

  4. 公共查询类criteria

    package cn.edu.hbcf.common.vo; import java.math.BigDecimal; import java.sql.Timestamp; import java.u ...

  5. 分享 stormzhang的Andoid学习之路

    硬件 电脑–推荐Mac 首先声明我不是果粉,个人Windows,Linux,Mac OX系统均用过, 只能说Windows上面的开发工具简直难以恭维,尤其命令行超级难用,而Linux自己必须得花不少时 ...

  6. Practial Vim 学习笔记一

    . 号作用是重复上一个动作. >+G  缩进 j 光标下移 u 撤销操作 $ 光标移到行尾 x 删除光标下的字符 dd 删除整行 i 切换到Insert模式 Esc 返回 f 将光标移到下个字符 ...

  7. IT 服务管理工具 iTop

    iTop,作为全面支持ITIL流程的一款ITSM工具,具有强大的ITSM功能,开源免费.简单易用. iTop,即IT运营门户(IT Operation Portal),是一个开源web应用程序,用于I ...

  8. eclipse中根据方法找到其实现类

    面向接口编程中,程序全是面向接口变成调用,在维护别人写的系统的时候怎么样快速定位当前根据接口调用的方法是哪个实体类实现的: Ctrl + T/f4(光标放在需要查看的方法上,然后按Ctrl+T或者F4 ...

  9. oracle的dual表

    1.DUAL表的用途Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户Connected to Oracle Databas ...

  10. jquery 改变checkbox的值

    似乎没什么用... <script> $(document).ready(function(){ $("#comment").change(function(){ va ...