Windows 安装MySQL

2017年11月


确保以具有管理员权限的用户身份登录。

解压安装 Mysql 5.6

1. 下载Windows版本的压缩包

如:mysql-5.6.31-winx64.zip

2. 将文件解压缩到指定目录

如:C:\Program Files\MySQL\MySQL Server 5.6

3. 设置环境变量

将.../bin 添加到系统环境变量 path 中

4. 修改配置文件

默认的配置文件是../my-default.ini,重命名该文件或者自己建立一个my.ini文件
在其中修改或添加配置:

[mysqld] 
basedir=C:/Program Files/MySQL/MySQL Server 5.6 
datadir=C:/Program Files/MySQL/MySQL Server 5.6/data 

5. 安装windows服务

进入到bin目录中,输入 mysqld -install 安装服务

如果不进入bin目录,install能成功,服务能注册,但服务无法启动,提示找不到文件

install指令默认会按照如下顺序读取指定配置文件:

C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.6\my.ini
C:\Program Files\MySQL\MySQL Server 5.6\my.cnf

C:\Users\Administrator>mysqld -install
Service successfully installed.

basedir = C:\Program Files\MySQL\mysql-5.6.31-winx64
datadir = C:\Program Files\MySQL\mysql-5.6.31-winx64\data

6. 初始数据目录

进入到bin目录中,输入 mysqld --initialize 初始化数据目录

(好像是可以不需要)

C:\Users\Administrator>mysqld --initialize
2016-11-16 16:54:03 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
2016-11-16 16:54:03 0 [Note] mysqld (mysqld 5.6.31) starting as process 2564 ...

7. 启动服务

net start mysql

# 停止服务用
net stop mysql

8. 修改密码

# 指定root用户登录否则没有权限

mysql -u root     

# 切换到mysql数据库
use mysql; 

# 默认是没有密码的
mysql> select Host,User,Password from user;
+-----------+------+----------+
| Host      | User | Password |
+-----------+------+----------+
| localhost | root |          |
| 127.0.0.1 | root |          |
| ::1       | root |          |
| localhost |      |          |
+-----------+------+----------+
4 rows in set (0.00 sec)

# 修改密码
mysql> update mysql.user set password=password('root') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

# 刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 再查看user表
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1       | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost |      |                                           |
+-----------+------+-------------------------------------------+
4 rows in set (0.00 sec)

## 可以用客户端工具进行测试

# 远程访问,Host为%
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant
 option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 再看多了一条记录
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1       | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost |      |                                           |
| %         | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)




解压安装 MySQL 5.7

1. 下载Mysql 5.7的ZIP包

地址:
https://dev.mysql.com/downloads/file/?id=478884
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-winx64.zip

2. 选择安装位置,解压缩

如解压到:D:\mysql\mysql-5.7.23-winx64

如果想在其他目录直接执行mysql命令,则需要将bin加入到环境变量

2. 创建my.ini文件

在安装目录(D:\mysql\mysql-5.7.23-winx64)创建my.ini文件,填入如下内容

纯文本文件,可以使用任何文本编辑器进行编辑

[mysqld]
# set basedir to your installation path
basedir=D:/mysql/mysql-5.7.23-winx64
# set datadir to the location of your data directory
datadir=D:/mysql/mysql-5.7.23-winx64/data

如果使用反斜杆需要两个

[mysqld]
# set basedir to your installation path
basedir=D:\\mysql\\mysql-5.7.23-winx64
# set datadir to the location of your data directory
datadir=D:\\mysql\\mysql-5.7.23-winx64\\data

3. 初始化数据目录

cd D:\mysql\mysql-5.7.23-winx64

D:\mysql\mysql-5.7.23-winx64>bin\mysqld --initialize --console

# 会生成临时密码
# [Note] A temporary password is generated for root@localhost: r!i*sp)-E9hA

4. 启动Mysql

D:\mysql\mysql-5.7.23-winx64\bin>mysqld.exe --console
......
......
......
2018-08-25T19:36:15.598206Z 0 [Note] InnoDB: Buffer pool(s) load completed at 180826  3:36:15
2018-08-25T19:36:15.599873Z 0 [Note]   - '::' resolves to '::';
2018-08-25T19:36:15.604039Z 0 [Note] Server socket created on IP: '::'.
2018-08-25T19:36:15.693851Z 0 [Note] Event Scheduler: Loaded 0 events
2018-08-25T19:36:15.703020Z 0 [Note] mysqld.exe: ready for connections.
Version: '5.7.23'  socket: ''  port: 3306  MySQL Community Server (GPL)

这种方式启动直接 CTRL + C 停止即可

不加 --console 则输出信息在日志文件夹中

5. 进入mysql,并修改密码

cd bin
mysql -uroot -p
# 输入上面的临时密码

#进入mysql,修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

# 退出重新登录

6. 停止mysql

>mysqladmin.exe -uroot -p shutdown

#输入root密码

7. 作为Windows服务

需要想将bin目录加入到环境变量

没有进行测试,通过命令行方式启动更加可控

# 安装服务
bin\mysqld --install

# 删除服务
bin\mysqld --remove



关于登录和密码

Mysql 5.6

# 修改密码  
set password for 'root'@'localhost' =password('root');  

# 设置远程登录  
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;  

# 创建新用户  
create user 'hinge'@'%' identified by 'hinge';  
grant all privileges on *.* to hinge@'%' identified by 'hinge';  
flush privileges;  

# 不指定时默认是%*  
create user hinge identified by 'hinge';  
grant all privileges on *.* to hinge identified by 'hinge';  
flush privileges;  


grant all privileges on *.* to hinge@'localhost' identified by 'hinge';  
flush privileges;  

# 刷新权限   
flush privileges;  

Mysql 5.7

在配置文件[mysqld]字段下增加skip-grant-tables 字段,用以忽略权限验证

使用mysql -u root -p 登录数据, 密码直接回车

修改[mysql]数据库,user表的authentication_string字段

update mysql.user set authentication_string=password('root') where user='root';  
flush privileges;  



2020-11-12

这个时候的mysql5.7 小版本已经到了32 了

下载地址:
https://dev.mysql.com/downloads/mysql/5.7.html

缺少dll的问题

运行mysqld 时,系统提示“由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题。”

官方说明:
https://support.microsoft.com/en-us/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package
下载这个程序并执行:
http://download.microsoft.com/download/1/8/0/180FA2CE-506D-4032-AAD1-9D7636F85179/vcredist_x64.exe

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容