zoukankan      html  css  js  c++  java
  • 关于MySQL5.7.17免安装配置问题。(win10亦可)

    2月8号开新书-->MySQL必知必会。结果在安装MySQL的时候,不停的遇到“服务无法启动,没有报告任何问题”,或者在进入MySQL的时候出现的经典10061问题。卧槽,整整一个下午都没弄好。之后,反思......总结网上朋友们的博客,定位到我的问题是在生成data文件的时候,因为,我每次执行命令,data文件夹里面的3个文件夹(mysql,sys,performance_schema)从来没有出现过。所以,我的问题一定是在初始化data文件的时候(当然你可以复制安装成功的mysql的data文件过来,不过这个方法之后产生的问题请参考其他博文)


    按我参考的博客来说,这个方法是适用于5.7版本的,5.6的没试过。

    我安装的是mysql-5.7.17-winx64

    原文地址:http://www.cnblogs.com/c3gen/p/6168765.html

    下载地址在MySQL官网,看不懂可以使用谷歌或者360浏览器翻译成中文看,这里不再多说,直接说配置问题。

     我的MySQL安装地址:C:MySQL

    下载解压完以后(解压地址下文统一按“安装地址”称):
    1)需要配置环境变量,具体在我的电脑--属性--高级--环境变量--系统变量

    在这有好多说需要先:新建一个MYSQL_HOME的系统变量,具体是:MYSQL_HOME = 你的MYSQL安装地址
    然后在Path下添加%MYSQL_HOME%in;(注意分号结尾,添加的时候要么在最开始添加,要么在最后添加。想在中间添加的,一定要添加在原有的分号(;)之后,并且以分号结尾)
    首先说这个名字,其实无所谓,主要是要让别人知道这个是什么,所以起这个名字可以说任何开发人员都可以明白这个是什么意思(约定俗成)。

    再就是Path下添加的变量是因为你新建了MYSQL_HOME的系统变量,所以添加的时候使用百分号引用变量,那么就是现在这样 -- %MYSQL_HOME%in;。

    这时候,当我们在cmd中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于将%MYSQL_HOME%in添加到了Path中,而这里%MYSQL_HOME%实际上是引用了前面定义的另一个变量,其值是MySQL的安装目录。因此,Windows会在执行命令时搜索目录C:MySQLin,而MySQL执行脚本的位置在这里。

    当然你也可以完全不管什么MySQL_HOME,直接在Path里添加:MYSQL的安装地址in
    比如说我的安装地址是C:MySQL

    那么我就可以配置成: C:MySQLin;(注意分号结尾)

    2)创建my.ini文件

    每个安装目录下都有一个my-default.ini文件,复制一份,重命名为my.ini。

    之后在[mysqld]下面添加

    # 安装目录
    basedir = C:MySQL
    # 数据存放目录
    datadir = C:MySQLdata

    这里需要检查一下安装地址下的data文件夹,如果不存在的话,最好自己创建一下,空文件夹。

    3)以管理员身份打开cmd窗口,"将目录切换到你安装地址的bin目录",好多博客都说要切地址,如果你配置了%MYSQL_HOME%环境变量的话,其实完全没必要。但是有另一个需要注意的地方是:不要用你在设置环境变量(%MYSQL_HOME%)之前打开的cmd窗口,新的环境变量只在新的cmd窗口中起作用。

    如果你没有配置%MYSQL_HOME%环境变量,那么你就必须要切地址了,切换到mysql安装地址的bin目录

    执行 mysqld -install

    -----关键------

    继续执行 mysqld --initialize-insecure -user=mysql;

    注意命令格式,initialize前面有两个“-”,一定是这样执行的,如果不是,那么你会出现这样的错误:

    一定是执行mysqld --initialize-insecure -user=mysql; 不多也不少

    这时候,你可以看你的data文件夹下只要存在(mysql,sys,performance_schema)三个文件夹,和若干白纸片(未知的文件类型),那么恭喜你,你成功了。

    4)接下来启动mysql服务:net start mysql

    5)进入mysql:mysql -uroot -p

    这时候,如果你的data文件夹是复制过来的,那么请输入你原来的mysql密码,如果不正确请参考其他博文。

    如果是第一次安装,且按照本文配置下来的,那么直接回车进入mysql,mysql安装默认没有密码。

    6)修改root密码

    首先要切换数据库mysql

    use mysql

    执行 set password=password('root');设置密码。并刷新权限flush privileges;

    这里的修改密码和5.6不一样,因为5.7的user表没有password这个列。可以使用 desc user;来查看user表的数据结构。

    q退出mysql重新登录mysql。

    至此,成功。

    其实一开始并没有发现那三个文件夹的问题,弄了半天,我都怀疑是电脑的环境有问题了(公司的电脑win7)。刚好前几天买了新笔记本,回去搞我那个新买的笔记本(win10)。

    win10的系统,在网上又看了半天,突然发现我的data文件夹一直少了三个文件夹(mysql,sys,performance_schema),然后又查了下这些文件夹的作用,知道mysql和sys是很重要的文件,mysql是修改密码时候用到的,sys貌似是登录时候用到的,这个还不是很清楚,一会再研究。主要是感觉自己找对了方向,就着急去定位怎么生成这三个文件夹。

    然后就找到了 mysqld --initialize-insecure -user=mysql;(注意是两个“-”)

    我看的那个博文里是执行的mysqld --initialize-insecure --user=mysql;

    我就在想是不是这条语句的问题,导致文件生成不完整。结果一试,特么的。原来就是你。卧槽。我……………………

    心中一万只草泥马跑过,不提了。

    隔天来公司电脑上执行,一次成功。整理出来,希望能帮助到大家。

    2月16日补:

    在cmd中执行  mysqld --verbose --help

    在输出中可以找到

    --initialize

    Create the default database and exit. Create a super user
    with a random expired password and store it into the log.
    --initialize-insecure

    Create the default database and exit. Create a super user
    with empty password.

    结果太明显了,所以养成看官方文档的习惯很重要。

  • 相关阅读:
    运算符
    初始编码
    python文件操作
    波士顿房价预测
    机器学习基础-数理统计
    linux基础命令--userdel 删除用户帐户和相关文件
    linux基础命令--rmdir 删除空目录
    linux基础命令--groupdel 删除群组
    linux基础命令--groupadd 创建新的群组
    linux基础命令--groupmod 修改组定义
  • 原文地址:https://www.cnblogs.com/ckss/p/6381415.html
Copyright © 2011-2022 走看看