mysql 5.7 安装说明
下载地址:
http://dev.mysql.com/downloads/mysql/
有 ZIP Archive 和Installer MSI 两种。
使用 msi 安装包安装属于最简单的安装方式,依照提示一步步完成即可。
下面介绍使用 Zip 包来安装的方法。
参考:
http://dev.mysql.com/doc/refman/5.7/en/windows-installation.html
http://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html
1、下载并解压
将下载到的ZIP包解压到要你准备安装 MySQL 的目录。如:
C:\Program Files\MySQL
该目录是MSI安装程序默认的安装位置。
2、创建配置文件
MySQL 在windows上启动时会依次在 MySQL 的安装目录、Windows 安装目录以及 C 盘根目录下寻找 my.ini
文件或 my.cnf
文件。
我们可以将按照目录下的 my-default.ini
文件另存为 my.ini
并修改。
最要的配置有两项,即工作路径和数据库路径。
1 2 3 4 5 6 |
[mysqld] # set basedir to your installation path basedir="C:\\Program Files\\MySQL\\MySQL Server 5.7" # set datadir to the location of your data directory datadir=E:\\mysql\\data # datadir=E:/mysql/data |
Windows的路径使用了反斜杠(\),因此,使用时将反斜杠改为双反斜杠或直接使用斜杠(/)。
在实际使用时发现,直接使用反斜杠也没问题,但官方文档这么说了,那就可能是历史遗留问题。
3、环境变量
为了更方便地使用 MySQL ,我们先配置一下系统的环境变量。
打开系统环境变量设置,在path中追加MySQL的程序文件夹并保存。
C:\Program Files\MySQL\MySQL Server 5.7\bin
4、初始化
MySQL 5.7.6 以后,Zip包中不再包含 data 目录,因此也就没有初始化好的系统数据库以及系统表等,需要手动初始化。使用如下命令:
1 2 3 |
mysqld --initialize # 使用随机密码创建 'root'@'localhost' 账户 mysqld --initialize-insecure # 使用空密码创建'root'@'localhost' 账户 |
为了能够方便查看初始化过程中的信息,可以追加 --console
参数使mysqld将输出信息写到控制台。
5、安装并启动服务
一般启动和关闭
初始化以后,MySQL 就可以正常启动了。
1 2 3 |
mysqld #启动MySQL服务 mysqladmin -u root shutdown #关闭MySQL服务 |
如果 MySQL 的 root 账户设有密码,则需要给 mysqladmin 后缀参数
-p
。
如果 mysqld 没能启动成功,则可以查看 error log 文件,该文件在配置文件中指定的 datadir 目录中,后缀名 .err 。error log 文件是可以通过 --log-error
参数指定的,另外,如果想让 mysqld 将错误日志输出到控制台,可以使用 --console
参数。
安装为 Windows 服务
确保 mysqld 服务已被关闭。
安装MySQL服务:
1 2 |
mysqld --install |
或
1 2 |
mysqld --install MySQL --defaults-file=C:\my-opts.cnf |
上述命令可以在安装时指定服务名为 MySQL
以及指定配置文件路径,需要注意的是:--install
必须是第一个参数, 且服务名(若需指定的话)必须紧跟其后。
如果我们不想让MySQL服务每次开机都自动启动,那么可以使用--install-manual
参数代替 --install
参数。
1 2 |
mysqld --install-manual |
服务启动和关闭:
1 2 3 |
NET START MySQL #服务名 MySQL 由服务安装时指定,默认为 MySQL NET STOP MySQL |
服务卸载:
1 2 |
mysqld --remove # 卸载服务,卸载前请先停止 MySQL 服务 |
6、设置账户
启动MySQL
连接到MySQL
如果使用 --initialize
参数初始化,则使用如下命令来连接MySQL:
1 2 3 |
mysql -u root -p Enter password: (enter the random root password here) |
如果不知道密码,可以查看error log 文件。
如果使用 --initialize-insecure
参数初始化,则使用如下命令来连接MySQL:
1 2 |
mysql -u root --skip-password |
PS:直接使用 mysql -u root -p
也可以成功连接,在提示输入密码时直接回车即可。
连接到数据库后修改密码:
1 2 |
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; |
以上命令适用于 MySQL 5.7.6 及以后版本,早期版本使用:
12 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
7、密码修改和重置
修改密码
- 执行 mysql -u root -p ,输入密码登录后,
- 执行 SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘new password’);
- 执行 exit 退出。
- 此时用执行 mysql -u root -p ,并输入新密码即可登录。
强制重置密码
如果忘了 root 的密码,可以使用以下办法重置:
- 以无验证方式启动服务:打开配置文件 my.ini ,在[mysqld]下增加一行
skip_grant_tables
,执行net start MySQL
启动服务。
或者执行
mysqld --skip_grant_tables
启动服务。 - 执行
mysql -u root -p
登录,无需密码直接回车即可登录。 -
修改密码:
12345UPDATE mysql.userSET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'WHERE User = 'root' AND Host = 'localhost';FLUSH PRIVILEGES; exit
退出。-
关闭服务
net stop mysql
。或者执行
mysqladmin -u root shutdown
关闭服务。 -
删掉 my.ini 文件中
skip_grant_tables
语句。 -
执行
net start mysql
重新启动服务。 -
此时用执行
mysql -u root -p
,并输入新密码即可登录。