Windows安装MySQL5.7

Win7安装配置MySQL5.7

由于网上的教程大部分是MySQL5.7之前的版本,较5.7版本在命令行和表列有些许差异,所以写此篇博客来归纳自己在安装时候所遇到的问题,以提醒后来者。(我用的是Win764位系统,所以此文只针对Windows各系统,其它系统请参照解决)

安装步骤:

  • 下载MySQL5.7安装包
  • 解压到合适的路径
  • 更改配置文件
  • 安装mysql服务
  • 更改root密码

安装详解:

  1. 下载MySQL5.7安装包
    http://dev.mysql.com/downloads/mysql/
    按需选择版本,这里以zip archive版为例。

  2. 将ZIP压缩文件解压到合适路径,建议路径中的文件夹名不含有空格。

  3. 配置文件
    为避免数据库中的汉字乱码之类的,建议先配置一下默认文件。在mysql-5.7.12-winx64目录下,新建my.ini文件,复制下面的代码保存。

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

    1. 命令行打开所在路径
      管理员身份运行cmd.exe(在运行里搜索cmd或者在C:\Windows\System32下找到cmd右击),然后将目录切换到解压文件的bin目录。以我的路径为例:D:\Program\MySQL\mysql-5.7.12-winx64,命令依次为:

      D:
      cd Program
      cd MySQL
      cd mysql-5.7.12-winx64
      cd bin
      

      每一行中间都要有一个回车使每一行单独运行。为一劳永逸,可以将MySQL路径添加进环境变量中,不必每次都要进入bin目录,具体做法为:右键我的电脑->属性->高级系统设置->环境变量->Path->编辑,将mysql软件下的bin目录的全路径粘贴进去,注意添加前看原路径末尾有没有英文的分号“;”,如果没有则加上,最后别忘了在路径后面加个“;”以保证各路径的分离,然后点保存。如

      D:\Program\MySQL\mysql-5.7.12-winx64\bin;
      
    2. 进入bin目录后输入

      mysqld –initialize
      

      完成实例初始化,不做这一步会报错

      mysqld install
      

      回车运行,注意是mysqld,不是mysql。最后一行出现successful之类的代表安装成功了,进入下一步。

  5. 更改root密码
    这一部分是5.7版本区别于之前版本最明显的地方,我自己在这一部分也是遇到了很多问题,这一过程中我不断停止和开启MySQL服务,所以一下每一步操作若出现错误请切换MySQL服务开启/停止状态再次尝试。

    1. 登录MySQL
      若参照其它资料所讲,输入root密码时为空是登录不上的,所以解决办法为要先跳过密码认证,做法为:cmd下输入

      mysqld --defaults-file="D:\Program\MySQL\mysql-5.7.12-winx64\my.ini" --console --skip-grant-tables
      

      需要说明的是,此时该窗口不可再写入。这也是检验命令是否正确执行的一个标准,保持开启不要关闭此窗口

    2. 更改root密码
      打开另外一个命令行窗口输入命令

      mysql -u root -p
      

      密码为空,直接回车进入mysql命令行界面,在命令行下执行

      use mysql;
      

      执行如下语句更新用户“root”的密码:

      update user set authentication_string=password("新密码") where user="root";
      

      (注意:1. user的列名password已在5.7版本中被替换为authentication_string,所以很多文章中都是用的update user set password=password("新密码") where user="root";若在新版本中使用会提示找不到列名的错误。 2. 不用mysqladmin -u root -p password '新密码'修改密码,会提示如下所示的错误:

      You cannot use 'password' command as mysqld runs with grant tables disabled (was started with --skip-grant-tables).Use: "mysqladmin flush-privileges password '*'" instead)
      

      此时关闭“跳过密码认证”的命令行窗口,在cmd中输入

      net start mysql
      

      开启mysql服务,或在任务管理器中的“服务”中找到mysql右键开启。
      此外,必须执行

      alter user 'root'@'localhost' identified by '新密码'
      

      重置密码,否则使用mysql时会提示以下错误

      You must reset your password using ALTER USER statement before executing this statement.
      
  6. 到这一步应该就可以正常使用了,如果有什么错误可以重启mysql服务试试,再不行可以留言一起探讨。

彩蛋一枚!

偶然在网上发现的,我没有试,应该是正确的步骤,比上面简单多了。

(使用的mysql-5.7.9):
1、修改my.ini,配置好data目录,放到bin路径 下:
2、执行:mysqld –initialize –user=mysql –console
会自动生成data目录,还有一个随机密码,记下来。
3、执行:mysqld –console 启动mysql,登录mysql -uroot -p 输入刚才记录的密码,执行:set password = password(‘root’)修改密码。
4/杀掉mysqld进程。
安装服务,执行:mysqld –install MySQL –defaults-file=”E:\mysql-5.7.9-winx64\my.ini” 自动修改路径 。
net start mysql
ok!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值