我按照https://blog.csdn.net/wuchenlhy/article/details/80702248去操作的
准备
- Windows Server 2019 Datacenter
- Mysql 8.0.16 下载地址
开始
首先将下载好的mysql压缩包解压,解压之后是这样的
之后创建一个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
弄好之后文件目录是这样的
之后初始化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,下载地址
之后再切换到cmd中执行刚刚的语句就没问题了,而且data目录应该生成了很多文件,红框框是mysql自动生成的一个密码,待会登录要用的
之后执行安装语句
mysqld --install
成功后启动mysql
net start mysql
之后在cmd中登录mysql
mysql -u root -p 刚刚的密码
出现下图说明登录成功
之后修改root的密码,只有修改了root密码后才能进一步操作
ALTER USER "root"@"localhost" IDENTIFIED BY "你的密码";
之后我们创建一个用户以便远程访问,也可以直接修改root用户,以root用户直接远程登录,我这里选择前者,先查看一下当前的用户
use mysql
select user,host,plugin from user;
创建新用户,这里的%符是为了让任意IP地址都能远程登录到此用户上
CREATE USER '新用户名'@'%' IDENTIFIED BY '新用户密码';
之后在执行刚刚查询用户的代码,看看有没有创建好这个用户
如果新创建的用户的plugin不是mysql_native_passoword,在使用navicat连接的时候可能会连接不上,网上说拿个补丁放在navicat目录就好啦,不过我这没遇到(最新版本的navicat pre好像已经没有这种问题了)
之后分配用户权限,我这里给新用户全部权限
GRANT ALL ON *.* TO '新用户名'@'%';
之后刷新权限
flush privileges;
然后就可以连接了