虽然一般公司都有研发环境的研发库,但是感觉还是没有搞个自己的本地研发库乱搞来得爽,今天在我的小红点本本上搞了个MySql 8.x,记录一下。
下载安装就不过多介绍了,就是直接去官网,click download就OK,官网download链接:https://dev.mysql.com/downloads/【默认是8.x】,
5.7 链接:https://dev.mysql.com/downloads/windows/installer/5.7.html,因为本文主要是写安装8.0的坑,所以其他就不过多介绍了,直接 google吧。
windows修改密码:https://www.cnblogs.com/woider/p/6725867.html
mysql 8.0 + 安装:https://blog.csdn.net/qq_37856300/article/details/83060124
省略 N个click
*
*
*
安装完成你就会和我一样纳闷,为啥没有设置密码就直接安好了,这畅快的太不自然了,然后安装完会生成一个默认密码,记得要把他保存起来排【待会登录时候不能粘贴,需要手动输入】,我就比较坑了,密码中有个l,也不知道他是大写L还是小写l,还是大写I还是小写i,还是数字1,麻蛋,然后就有了下文。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456a?';
D:\my-Java\mysql-8.0.15-winx64\bin>mysqld --init-file="D:\\my-Java\\mysql-8.0.15-winx64\\pass.txt" --console
参考:http://yshblog.com/blog/195
CREATE USER 'rose'@'%' IDENTIFIED BY '123456';
说明:
示例:
CREATE USER 'jack'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'rose'@'192.168.38.110_' IDENDIFIED BY '123456'; CREATE USER 'rose'@'%' IDENTIFIED BY '123456'; CREATE USER 'rose'@'%' IDENTIFIED BY ''; CREATE USER 'rose'@'%';
注意:
创建用户后,该用户只能连接到数据库服务器,但并没有操作该数据库服务器的权限。
GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx'
说明:
示例:
GRANT SELECT, INSERT ON DbXXX.user TO 'jack'@'%'; GRANT ALL ON *.* TO 'jack'@'%'; GRANT ALL ON DbXXX.* TO 'jack'@'%';
注意:
1. 授权之后需要用户重连MySQL,才能获取相应的权限。
2. 用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx' WITH GRANT OPTION;
SET PASSWORD FOR 'usernamexxx'@'hostxxx' = PASSWORD('newpasswordxxx');
如果是当前登陆用户用:
SET PASSWORD = PASSWORD("newpasswordxxx");
示例:
SET PASSWORD FOR 'jack'@'%' = PASSWORD("123456");
REVOKE privilegexxx ON databasenamexxx.tablenamexxx FROM 'usernamexxx'@'hostxxx';
示例:
REVOKE SELECT ON *.* FROM 'jack'@'%';
注意:
假如你在给用户'jack'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'jack'@'%',则在使用REVOKE SELECT ON *.* FROM 'jack'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'jack'@'%';则REVOKE SELECT ON test.user FROM 'jack'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。
具体信息可以用命令SHOW GRANTS FOR 'jack'@'%'; 查看。
DROP USER 'usernamexxx'@'hostxxx';
MySql 8.0.11 客户端连接失败:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: ....
原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的 登录密码加密规则 还原成 mysql_native_password,即可登陆成功。
use mysql
select user,host,plugin,authentication_string from user;
alter user 'Xue'@'%' identified with mysql_native_password by '123456';
https://blog.csdn.net/GRAY_KEY/article/details/80659916
https://blog.csdn.net/huxinguang_ios/article/details/80887175