mysql8在windows server中部署

我按照https://blog.csdn.net/wuchenlhy/article/details/80702248去操作的

准备

  • Windows Server 2019 Datacenter
  • Mysql 8.0.16 下载地址

开始

首先将下载好的mysql压缩包解压,解压之后是这样的
mysql8在windows server中部署_第1张图片

之后创建一个my.ini文件和名为data的空文件夹用于存放初始化后的mysql数据,my.ini文件内容如下

[mysqld]
# 如果你在客户端运行SQL语句报错,但是不影响结果,那么可以试试用下面这句
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 指向mysql的目录
basedir=C:\work\mysql-8.0.16-winx64\mysql-8.0.16-winx64 
# 指向data的目录
datadir=C:\work\mysql-8.0.16-winx64\mysql-8.0.16-winx64\data
# 如果要修改默认的端口号,登录的时候也要带上端口号
# 以3336端口为例 mysql -u root -P 3336 -p
port = 3306
character-set-server=utf8mb4
#忘记密码时使用
#skip-grant-tables
#设置协议认证方式
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4

弄好之后文件目录是这样的
mysql8在windows server中部署_第2张图片
之后初始化mysql,以管理员方式运行cmd并进入到bin文件夹目录下,执行以下命令

mysqld --initialize --console

如果在这一步控制台提示找不到你刚刚指定的那个目录XXX/data,那么可能要my.ini将路径修改为(从\改为/)

basedir=C:/work/soft/mysql-8.0.16-winx64/mysql-8.0.16-winx64

如果在这一步报找不到VCRUNTIME140.dll(或dbghelp.dll)的错(见下图)就去下载相关依赖包,我这边是64位的系统,下载下来的安装包文件名是vc_redist.x64.exe,下载地址

mysql8在windows server中部署_第3张图片
mysql8在windows server中部署_第4张图片
mysql8在windows server中部署_第5张图片
之后再切换到cmd中执行刚刚的语句就没问题了,而且data目录应该生成了很多文件,红框框是mysql自动生成的一个密码,待会登录要用的
mysql8在windows server中部署_第6张图片
之后执行安装语句

mysqld --install

成功后启动mysql

net start mysql

之后在cmd中登录mysql

mysql -u root -p 刚刚的密码

出现下图说明登录成功
mysql8在windows server中部署_第7张图片
之后修改root的密码,只有修改了root密码后才能进一步操作

ALTER USER "root"@"localhost" IDENTIFIED  BY "你的密码";

之后我们创建一个用户以便远程访问,也可以直接修改root用户,以root用户直接远程登录,我这里选择前者,先查看一下当前的用户

use mysql
select user,host,plugin from user;

mysql8在windows server中部署_第8张图片
创建新用户,这里的%符是为了让任意IP地址都能远程登录到此用户上

CREATE USER '新用户名'@'%' IDENTIFIED BY '新用户密码';

之后在执行刚刚查询用户的代码,看看有没有创建好这个用户
mysql8在windows server中部署_第9张图片
如果新创建的用户的plugin不是mysql_native_passoword,在使用navicat连接的时候可能会连接不上,网上说拿个补丁放在navicat目录就好啦,不过我这没遇到(最新版本的navicat pre好像已经没有这种问题了)
之后分配用户权限,我这里给新用户全部权限

GRANT ALL ON *.* TO '新用户名'@'%';

之后刷新权限

flush privileges;

然后就可以连接了
mysql8在windows server中部署_第10张图片

你可能感兴趣的:(数据库)