mysql8.0.22设置远程连接

参照官方文档安装完mysql之后(安装)

关闭防火墙

关闭防火墙方法

    (提示:以下命令必须按顺序执行,否则会出现不可预知的麻烦!)

登陆到mysql命令行:

mysql -u root -p

进入之后选择mysql库,查看user表中的用户信息

mysql> use mysql
mysql> select host, user, authentication_string, plugin from user;
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| host      | user             | authentication_string                                                  | plugin                |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password |
| localhost | root             | $A$005$)C%}|B/O#6>     cNUWhdcLdaapuvYsxy2VqkPkMwwU.0AM9tJ1iO5SVr7 | caching_sha2_password |
+-----------+------------------+------------------------------------------------------------------------+-----------------------+

修改root用户的host,刷新修改,赋予权限

mysql> update user set host='%' where user='root';

mysql> flush privileges;
如果防火墙关闭的话root已经可以连接了,我觉得下面这句命令应该是给其它用户授予的,root本身已经有这些权限 mysql
> GRANT ALL ON *.* TO 'root'@'%'; #这个指令的意思是给予用户名为root主机名为任何的对象在任何库任何表上的所有权限,我自己理解的

 ---------------------------------此时我的mysql已经可以在其它机器上用MySql Workbench连接了---------------------------------------

根据需要在使用MySql Workbench建立一些特定用户

-------比较旧版本的SQLyog和Navicat还需要以下设置:

修改加密规则

 

注意:执行以下命令一定要在命令行窗口下,用一些客户端工具会有风险!

 

  先use mysql一下,如果没有使用如果当前使用的库不是mysql,然后执行下面语句



mysql>
ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword' PASSWORD EXPIRE NEVER;

更新 root 用户密码的验证方式


mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
mysql> FLUSH PRIVILEGES;

 

--------------------------------------------------------------------------------------------------------------------------------------- 

创建一般用户

 #1、创建新用户
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'userpassword';
 #给普通用户远程连接的权限:
 #2、授权 myuser 用户对指定库的所有表,所有权限并设置远程访问
mysql> GRANT ALL ON 指定库.* TO 'username'@'%'; 
 #3、更新 该 用户密码 
mysql> ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'userpassword';
 #4.刷新权限 
mysql> FLUSH PRIVILEGES;

ok,可以使用一般用户username了。

删除用户

删除账户及权限:

mysql>drop user 'username'@'%';

 

posted on 2021-01-14 15:53  wtsgtc  阅读(3250)  评论(0编辑  收藏  举报

导航