zoukankan      html  css  js  c++  java
  • 解压版Mysql5.7安装使用(Windows环境)

    今天在换到新的电脑系统时,需要重新安装Mysql,在下载了压缩包后,发现不能直接使用,花费很长时间搜索了多篇网上的说明后才将其装好,费时费力,故此处记录下安装步骤,防止自己再花费过多时间,也给遇到类似问题的人看看能否提供些许帮助。

    下载

    Mysql的压缩包下载地址为:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    的压缩下面是找到下载包的位置详情图

    解压并配置

    下载完后 我们获得了一个解压包,将其解压后会发现安装目录下没有my.ini文件,于是我将网友的my.ini文件复制了一份如下,其中要注意basedirdatadir两个值需要设置为你的mysql安装目录(本人的安装目录为D:mysqlmysql-5.7.24in),data文件夹如果不存在需要自己创建(或者在执行mysqld --initialize后会生成,但是自己创建的话需要保证data是空文件夹)

    [mysql]
    
    # 设置mysql客户端默认字符集
    
    default-character-set=utf8 
    
    [mysqld]
    
    #设置3306端口
    
    port = 3306 
    
    # 设置mysql的安装目录
    
    basedir=D:mysqlmysql-5.7.24
    
    # 设置mysql数据库的数据的存放目录
    
    datadir=D:mysqlmysql-5.7.24data
    
    # 允许最大连接数
    
    max_connections=200
    
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    
    character-set-server=utf8
    
    # 创建新表时将使用的默认存储引擎
    
    default-storage-engine=INNODB

    以管理员身份运行cmd进入到解压后的文件夹目录下的bin文件夹,比如我的安装在D:mysqlmysql-5.7.24in

    然后执行下列语句(#后面的内容为注释)

    mysqld install
    #在执行完上面的语句后 执行以下初始化语句(注意:是两个-)
    mysqld --initialize
    #执行上面的初始化命令后会生成data文件夹的内容,接下来就可以执行启动命令了
    net start mysql
    #执行完上述命令后,mysql服务应该就会正常启动了
    #如果执行了启动命令后出现服务器无法启动则检查安装目录下的data文件夹是否有内容,没有的话则是初始化命令没有执行或者执行错误

    启动并运行

    启动服务后 就可以登录进mysql操作了:
    一般的登录操作应该是以下操作,密码不用输入直接回车即可进入:

    mysql -u root -p
    ENter password:

    但是此时我发现了一个问题,我的密码也被初始化了,而且找不到我的root用户的密码,这时候我们要跳过密码验证并修改自己的root用户密码,步骤如下:
    1.先停止mysql服务(cmd为要以管理员身份运行):
            net stop mysql
    2.在my.ini的最后一行添加一行代码,用于跳过密码验证:
            skip_grant_tables
    3.再次启动服务并执行登录操作,输入密码时直接回车即可
    4.执行以下两条语句修改你的密码(#为注释 无需输入)

    #PASSWORD()是mysql的函数 用于将输入的密码加密
    UPDATE mysql.user SET authentication_string=PASSWORD(‘新密码’)WHERE user=’root’ ;
    flush privileges;

    5.关闭服务并删除my.ini中的最后一行的skip_grant_tables语句

    6.启动服务并执行登录操作,输入刚刚输入的密码即可,接下来就可以开始你的mysql之旅。

    异常

    在我修改完密码后 发现执行任何语句都会报以下错误:

    mysql error You must reset your password using ALTER USER statement before executing this statement.
    在我进行各种搜索后发现只需要改一次密码就可以使用了,执行以下语句

    set PASSWORD = PASSWORD('你的密码');
    #一般来说 执行了上述语句就可以了 如果还有问题,再执行以下两行代码,这两行是其他网友提供,本人尚未使用过
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    flush privileges;

    才疏学浅,如文中有错误,感谢大家指出。  

  • 相关阅读:
    C的联合体和结构体区别
    1_大端模式和小端模式
    1_2017年中兴机试题
    树1---基础
    栈的应用2---后缀表达式
    2 链式存储栈
    2- 栈和队列----之栈
    2) 线性链表
    kaike的FLAGs
    QAQ来自弱鸡的嘲笑
  • 原文地址:https://www.cnblogs.com/runningRookie/p/11108774.html
Copyright © 2011-2022 走看看