Win64安装MySQL5.7 Zip版本
博客专区 > myumen 的博客 > 博客详情
Win64安装MySQL5.7 Zip版本
myumen 发表于4个月前
Win64安装MySQL5.7 Zip版本
  • 发表于 4个月前
  • 阅读 26
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

Win64安装MySQL5.7 Zip版本

> MySQL是最流行的关系型数据库管理系统,通过适当的HA和Sharding,可以做为基础存储支撑起庞大的业务系统。淘宝这样的大型企业广泛使用MySQL。

下载Zip版本

从MySQL官网下载最新版本,选择Community Server版本即可。

安装过程

  • 解压下载的安装包到某个目录,比如d:\Develop\mysql-5.7.19-winx64\,那么这个目录将是MySQL安装实例的basedir;
  • 在basedir目录下面创建data目录,如果没有的话;data目录将作为MySQL数据库存储目录;当然也可以选择其他目录,只是需要通过启动参数指明;
  • 在basedir目录下面创建配置文件my.ini或者my.cnf,MySQL默认的搜索配置文件路径包括basedir;my.ini内容如下,注意其中的basedir,使用相对路径的话是相对于<basedir>/bin/mysqld.exe来说的
[client]
port=3306

[mysql]
default-character-set=gbk

[mysqld]
# basedir starts from the directory mysqld.exe exists.
basedir=..
datadir=../data
port=3306
character-set-server=gbk
# INNODB does not exists, so use MYISAM
#default-storage-engine=INNODB
default-storage-engine=MYISAM
max_connections=100
query_cache_size=0
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#skip-grant-tables=1
  • 初始化MySQL,执行d:\Develop\mysql-5.7.19-winx64\bin&gt;mysqld --initialize --user=root --console,这一步必不可少,通过--console参数,将初始化信息显示在控制台,可以从控制台输出查看到root的初始密码;我这里直接忽略了,因为后面会进行修改;当然也可以选择记住密码;
  • my.ini文件中skip-grant-tables=1这一句先不要注释;不然启动mysql后,因为root密码是随机生成的,初始化时不留意的话难以知晓,也就无法登录上去进行管理;
  • 启动MySQL:d:\Develop\mysql-5.7.19-winx64\bin&gt;mysqld --user=root --console,通过--console参数,让输入信息显示在控制台;当然也可以通过mysqld install安装为服务,再通过net start mysql启动;相应的net mysql stop停止服务,mysqld remove删除服务;
  • 通过命令行登录MySQL:d:\Develop\mysql-5.7.19-winx64\bin&gt;mysql -u root,上去通过SQL语句update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';修改root密码为root,以便去掉skip-grant-tables后也能正常登录。在之前的版本中,密码字段的字段名是 password,5.7版本改为了authentication_string:
d:\Develop\mysql-5.7.19-winx64\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed
mysql> update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> commit;
Query OK, 0 rows affected (0.00 sec)
  • 退出命令行工具,退出mysqld进程,将my.ini文件中skip-grant-tables=1注释掉,重新启动mysqld进程,即可通过root/root登录,登录命令:mysql -u root -p,根据提示输入密码;

注意事项

  • root密码在初始化时生成,这个值容易忽略,所以我这里通过先添加skip-grant-tables=1,表示登录是不要求输入root密码;登录后再进行修改;
  • 如果配置为default-storage-engine=INNODB,则会因为没有INNODB引擎导致启动失败,提示类似如下错误:
2017-08-27T05:47:44.558925Z 0 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
2017-08-27T05:47:44.559925Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2017-08-27T05:47:44.560925Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170827 13:47:44
  • 建议使用MySQL Workbench客户端;
  • my.ini文件中的路径也可以使用绝对路径;
  • my.ini中字符集配置合适的编码,如gbk或者utf8(不是utf-8)
  • 添加bin目录到path这一步可有可无;

参考资料

共有 人打赏支持
粉丝 2
博文 4
码字总数 7327
×
myumen
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: