MySQL8在Windows下安装与初始配置

参考:
RUNOOB.com MySQL安装教程

在Windows下安装与初始配置

下载安装包

Windows上安装MySQL8,首先下载安装包,在MySQL下载中心下载MySQL zip压缩包,也可在本实验室FTP服务器下载。

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.13 下。

配置文件

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.13 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.13
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
default-character-set=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

安装服务

接下来我们来启动下 MySQL 数据库:\
管理员身份打开 cmd 命令行工具,切换到MySQL bin目录:

1
cd C:\web\mysql-8.0.13\bin

初始化数据库:

1
mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

1
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ

APWCY5ws&hjQ就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

再输入以下安装命令:

1
mysqld install

启动输入以下命令即可:

1
net start mysql

MySQL服务默认开机启动。

登陆MySQL

打开 cmd 命令行工具,切换到MySQL bin目录:

1
cd C:\web\mysql-8.0.13\bin

用以下命令登陆:

1
mysql -u root -p

  • -u : 登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到响应Enter password:,这时输入root用户的密码(初次登陆输入上文提到的初始密码)。

修改登陆密码

在登陆MySQL后,可用以下三条命令修改root用户密码,假设要设置的密码是your_password

1
2
3
use mysql;
ALTER USER 'root'@'localhost' identified with mysql_native_password by 'your_password';
flush privileges;

外网访问

在登陆MySQL后,

1
2
3
4
5
6
use mysql;
update user set host='%' where user ='root';
FLUSH PRIVILEGES;
exit # 退出
# 更新mysql,找到mysql_upgrade.exe的位置,一般在mysql安装目录的bin目录下
mysql_upgrade -uroot -p

常用操作

数据库导入与导出

1
2
3
4
5
6
7
8
9
10
11
12
13
# 导出数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
# 导出表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
# 导入
mysql -u用户名 -p 数据库名 < 数据库名.sql


# 导出所有数据库
mysqldump -u 用户名 -p --all-databases > 导出的文件名
# 导入: 首先登录,再执行命令
mysql -u 用户名 -p
source 导出的文件路径

创建用户

1
2
3
4
# 创建用户
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
# 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' WITH GRANT OPTION;