Windwos10下安装mysql8.0.18

这几天用到了 MySQL 部署环境,遂查了下 MySQL 的 Windows 安装和初始化方法。

环境

  • Windows7 旗舰版
  • MySQL 8.0.18

首先要下载 MySQL 8.0 的安装包,这个就不演示了,应该都会下载。然后解压放到你想要放置的位置去。

温馨提示下,下载界面可以不注册直接下载的, 在下载页面的下方有直接开始下载的按钮。

配置文件

接下来要准备一个 my.ini 文件,放到 MySQL 的bin目录内,作为 MySQL 的配置文件。不知道为啥官方不给一个默认的配置文件。每次都要重新创建。

my.ini 内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录,这里写你自己的目录
basedir=D:\Program Files\mysql-8.0.13-winx64
# 设置mysql数据库的数据的存放目录,这里也是
datadir=D:\Program Files\mysql-8.0.13-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为utf8
character-set-server=utf8
#使用–skip-external-locking MySQL选项以避免外部锁定。该选项默认开启
external-locking = FALSE
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

[mysqld_safe]
# 这里同样是写自己的实际路径
log-error=D:\Program Files\mysql-8.0.13-winx64\mysql_oldboy.err
pid-file=D:\Program Files\mysql-8.0.13-winx64\mysqld.pid
# 定义mysql应该支持的sql语法,数据校验
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8

环境变量

还有一个问题就是环境变量的问题,我个人认为无所谓,因为一般服务启动了就不用管了,所以我一般都不加。当然大家随意,根据自己的需求。例如有些人可能用到比较多的内置工具,还是加了环境变量方便一点。

初始化

初始化作用是让 MySQL 根据目录内的配置文件生成一些初始数据库文件。

bin目录内以管理员权限打开命令提示符,执行如下命令:

1
mysqld --initialize --console

成功后的输出如下:

1
2
3
4
2019-11-04T12:39:00.928179Z 0 [System] [MY-013169] [Server] C:\mysql\bin\mysqld.
exe (mysqld 8.0.18) initializing of server in progress as process 756
2019-11-04T12:39:08.915393Z 5 [Note] [MY-010454] [Server] A temporary password i
s generated for root@localhost: ,=vh8ce&uh8W

最后的逗号和点开头的字符串就是初始化的root账号的密码了。要记住,一会要用到。

安装服务

输入以下命令安装 MySQL 服务。不输入服务名的话默认为 mysql。

1
mysqld --install

启动服务

启动停止服务命令如下:

1
2
3
4
# 开启MySQL
net start mysql
# 关闭MySQL
net stop mysql

更改root密码

命令如下:

1
2
3
4
# 登陆
mysql -u root -p
# 更新root账号的密码
alter user 'root'@'localhost' identified by 'password';

开启远程访问

在开启的命令行中继续输入命令:

1
2
3
4
5
6
7
8
9
10
11
12
# 显示所有数据库
show databases;
使用mysql数据库
use mysql;
# 新建一个root账号开启远程访问
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
# 更新root账号的host
GRANT ALL ON *.* TO 'root'@'%';
# 更新root账号的密码插件
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
# 最后刷新权限就可以正常登录啦
FLUSH PRIVILEGES;

参考链接:

https://zhuanlan.zhihu.com/p/58547068

https://blog.csdn.net/sgrrmswtvt/article/details/82344183

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接https://blog.d77.xyz/archives/80b85532.html