比如你下载的mysql位于目录:E:\dbms\mysql下 ---该目录下文会用到。

如果你有mysql应用经验,你肯定配置过my.ini文件,比如修改IP或者Port等信息;

如果你从未用过mysql,也没关系,你需要知道mysql会在my.ini文件加载初始化配置信息;

注:实际上,你也可以不采用配置文件,但你必须每次启动mysql时都输入你的配置信息,所以建议采用my.ini配置文件的方式,而且该文件必须是 纯文本 的。

mysql服务在启动的时候,会在多个位置(以后会详细介绍)查找配置文件,为了能快速的启动mysql,这里只介绍简单的配置该文件。

1.在E:\dbms\mysql目录(就是你的mysql根目录)下新建my.ini纯文本文件,用记事本或sublime(介绍看这里)打开;

2.输入以下内容: 

你可能发现你的目录中没有data目录,这是因为mysql从5.7.6开始,zip archive中不再包含data目录,怎么办?

--手动新建一个就可以,而且可以放在任何位置,但内容必须是空的(非空也可以,以后介绍)。

--实践证明:不用手动创建该目录,但需要在配置文件配置路径,初始化时会自动创建该目录!!!!

[mysqld]
explicit_defaults_for_timestamp=1 basedir=E:\\dbms\\mysql
datadir=E:\\dbms\\mysql\\data

a.[mysqld]:表示该组配置只对mysql服务(还有配置客户端的,暂时不需要了解,以后会介绍)有效;

b.explicit_defaults_for_timestamp=1:简单说是配置数据库timestamp类型的处理方式,详细介绍点这里【讲解】;

c.basedir和datadir分别对应mysql的主目录和最终保存数据库的目录,注意双反斜线(\\);

----2017-7-6:经过测试,basedir 和 datadir 这两项可以不配置,mysql默认会在当前目录查找相关文件,这样方便以后拷贝,不需要每次都修改路径;但是如果你的data放在其他位置,那么必须配置; 

以上配置有个概念就可以,以后会详细介绍配置文件,当前目标是快速启动mysql。

现在准备工作基本完成,你通过双击%basedir%\bin\mysqld.exe发现,根本没办法启动服务,怎么办?接下来,我们执行初始化。

1. win+r打开运行,输入cmd,打开命令行程序;

2. 使用cd命令进入basedir目录(也就是你的mysql目录);

3. 输入bin\mysqld --initialize直接回车,执行初始化...稍等一会就OK了,很快

如下图:

注:

  a. --initialize :初始化时,会生成一个root用户和一个随机的密码,并且密码设置为过期,需要你立即修改密码。

      ######码在哪里?

      这就是箭头4指向的就是随机密码。

  b. --initialize-insecure :另外,你也可以使用该配置初始化,但这种方式会生成一个root用户,并且密码是空(第一次登录密码空即可),同样需要你立即修改密码,不详细介绍,你可以自己试试;

Ok,现在已经初始化完成!

 接下来,我们启动mysql服务,并登录mysql,修改用户密码。

1. win+r,输入cmd,进入命令行程序;

2. 使用cd命令进入%basedir%目录(也就是你的mysql目录);

3. 输入bin\mysqld,启动mysql服务 (没什么意外的话,你应该可以正常启动),整个命令窗口卡住了?没关系, ctrl+shift+esc 打开任务管理器,查看mysqld进程,如果存在,恭喜!

  注:你可以通过查看basedir\data\***.err文件,查看启动日志;或者你可以通过bin\mysqld --console启动mysql服务,这样日志会直接打印到命令窗口;

4. 重复执行1、2过程,打开一个新的窗口;

5. 执行bin\mysql -u root -p回车,输入随机密码(其实你可以复制粘贴)进入mysql;

6. 成功的话,你会发现前缀改成了 mysql> ;

7. 修改密码:mysql>alter user 'root'@'localhost' identified by 'new pwd';回车(别忘了最后的分号;);

整个过程见下图:

OK,到这里,整个数据库的初始化过程就算完成了!

mysql8.0之后,加密方式不在使用mysql_native_password,使用navicat访问时,会提示更新mysql client,如下:

Clinet dose not support authentication protocol request by server ;consider upgrading MySQL client

解决办法:

在命令行中登录mysql:
> mysql -u root -p [回车]
> 输入你的密码 [回车] 切换数据库:
> use mysql;
查看 user 对应的,如:

修改认证方式:

> alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';

Query OK,0 rows affected (2.37 sec)

> flush privileges;

Query OK,0 rows affected (0.05 sec)

再用navicat登录一次试试,可以了。

问题汇总:

1. 启动时提示ibdata1Must be writable的情况,是权限问题,你可以采用管理员权限运行cmd;

mysql5.7.18 初始化和运行的更多相关文章

  1. MySQL5.7.18,初始化完成登录,提示密码过

    初始化完成登录,提示密码过期 原因: 安装CentOs的时候,默认安装了mysql,并且版本与自己安装的mysql版本不一致,直接使用mysql -uroot -p'password'连接,默认调用的 ...

  2. windows10下 MySQL5.7.18版本安装过程及遇到的问题

    windows10下 MySQL5.7.18版本安装过程及遇到的问题           mysql-5.7.18-winx64 安装           1.解压 此次将MySQL装在H盘,依个人喜 ...

  3. Windows下安装MySQL5.7.18的方法

    准备: 操作系统:win7 下64位的zip版本的MySQL,路径:http://dev.mysql.com/downloads/mysql/ 我下的是最新版的MySQL,解压后,目录如下: 可以看到 ...

  4. Linux下MySQL5.7.18二进制包安装(手动添加配置文件my_default.cnf)

    本文出处:http://www.cnblogs.com/wy123/p/6815049.html 最新在学习MySQL,纯新手,对Linux了解的也不多,因为是下载的最新版的MySQL(MySQL5. ...

  5. Apache2.4.23+PHP5.6.30+MySQL5.7.18安装教程

    最近在工作中常常接触到PHP,自己也写过一些简单的PHP页面.我们知道PHP是在服务器端运行的脚本语言,因此我们需要配置服务器环境.之前为了省事直接使用的是wamp集成环境,但是突然某一天领导要求我们 ...

  6. mysql5.7.18的安装与主从复制

    CentOS6.7安装mysql5.7.18 1.  解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /u ...

  7. Linux下MySQL5.7.18 yum方式从卸载到安装

    本文出处:http://www.cnblogs.com/wy123/p/6932166.html 折腾了大半天,看了想,想了看,总算是弄清楚yum安装的过程了,之前写过二进制包安装的,这里用yum安装 ...

  8. Linux下MySQL5.7.18二进制包安装(无默认配置文件my_default.cnf)

    最新在学习MySQL,纯新手,对Linux了解的也不多,因为是下载的最新版的MySQL(MySQL5.7.18)二进制包,CentOS7.2下测试安装,方便以后折腾.大概步骤如下,安装删除反复折腾了几 ...

  9. windows版mysql5.7.18安装

    windows版mysql5.7.18安装 初始化命令:C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe --defaults-file=& ...

随机推荐

  1. gdal库对ENVI文件的一点支持不好

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用GDALOpen函数打开ENVI的img文件,如果使用更新的方式即GA_Update会改写对应的hdr文件.改写h ...

  2. CF439E:The Untended Antiquity - 哈希 + 二维树状数组

    Magic Door 题目大意 有一个n*m的网格,支持三中操作: 1.在x1,y1,x2,y2为顶点的矩形周围围上栅栏 2.将x1,y1,x2,y2为顶点的矩形周围的栅栏拆掉 3.询问x1,y1,x ...

  3. Hive分析窗体函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK

    開始,依照顺序,生成分组内记录的序列–比方,依照pnum降序排列.生成分组内每天的pnum名次ROW_NUMBER() 的应用场景许多.再比方,获取分组内排序第一的记录等等. SELECT polno ...

  4. php redis操作具体解释

    phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 非常实用;下面是redis官方提供的命令使用技巧: 下载地址例如以下: https://gith ...

  5. WSL探索及WSLAPI调用记录

    以前都是在虚拟机上安装linux,居然刚知道win10有WSL(Windows Subsystem for Linux)可以直接在win10上安装linux,消耗低,效率高,很赞,趁着干兴趣把WSL探 ...

  6. JDBC读取Oracle的US7ASCII编码中文乱码及不同编码下汉字占用字节的问题

    数据库版本号:Oracle 10g 字符集:SIMPLIFIED CHINESE_CHINA.US7ASCII JDK:1.6.0_45 Oracle驱动:ojdbc14.jar 使用JDBC操作数据 ...

  7. Opencv 张正友相机标定傻瓜教程

    注: 程序所用的OpenCV版本是 2.4.10 ,3.0以上的版本可能会有不同 先贴一下完整的工程代码: #include "opencv2/core/core.hpp" #in ...

  8. Windows 10 应用创建模糊背景窗口的三种方法

    原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windo ...

  9. Leetcode 319 Bulb Switcher 找规律

    有n盏关着的灯,第k轮把序号为k倍数的关着的灯打开,开着的灯关闭. class Solution { public: int bulbSwitch(int n) { return (int)sqrt( ...

  10. C#中的String.Format介绍

    关键字:C# string.format作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/15/csharp-string_for ...