1.解压后,文件下下面是没有my.ini 和 data目录的,需要自己新建一个my.ini和data目录
[mysqld]
basedir=F:\mysql-8.0.11-winx64
datadir=F:\mysql-8.0.11-winx64\data
port = 3306
character-set-server=utf8
#忘记密码时使用
#skip-grant-tables
#设置协议认证方式(重点啊)
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8
2.配置环境变量,将解压目录下的bin文件夹的路径配置到系统变量中的path下(F:\mysql-8.0.11-winx64\bin)
3.以管理员身份运行命令提示符
mysqld --initialize --user=mysql --console
提示:如果你关了这个窗口,或者没记住,那也没事,删掉初始化的datadir目录(就是解压文件夹下的data文件夹)里面的东西,不要删除data文件夹,再执行一遍初始化命令,又会重新生成的。
4.安装服务 mysqld --install
5.启动服务net start mysql
6.登录mysql
7.修改密码
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
注意:重点啊,如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not supportauthentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去my.ini里面在[mysqld]下面加上这句话即可:
default_authentication_plugin=mysql_native_password
8.打开远程访问
对于允许远程访问,有两种角色,一种是我们的root用户,还有一种是非root用户,从安全的角度(我也不知道什么角度,听别人说的,暂且相信着吧),远程访问最后不要用root用户
用root用户访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
这里允许root用户远程的时候,如果出现如下的错误,就先去把root用的host改成%,再运行上面那句话,对于mysql用户管理这一块不熟悉的朋友们,请看我另一篇博客--mysql 用户及权限管理
非root用户,这里就要先去创建一个用户
切换数据库
mysql>use mysql;
创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)
mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456';
授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)
mysql>grant all on *.* to 'user1'@'%';
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
完成