MySQL设置远程登录(为root用户设置远程登陆权限)

这篇具有很好参考价值的文章主要介绍了MySQL设置远程登录(为root用户设置远程登陆权限)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL8以前的版本

如果是8以前的版本可以使用

-- GRANT privileges ON database_name.table_name TO 'username'@'hostname' IDENTIFIED BY 'password';
-- privileges表示授予的权限,database_name和table_name表示要授权的数据库和表名,username和hostname表示要授权的用户和主机名,password表示用户的密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;

重启MySQL服务,此时应当可以连接成功。

MySQL8及以上版本

问题

在MySQL8之后,使用 GRANT 命令的使用不会默认创建新账户,所以如果你执行上面的语句显示

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '123456' WITH GRANT OPTION' at line 1

恭喜你,你应当使用的是MySQL8的版本。

解决

既然问题是使用GRANT时不会创建新账户,那我们先新建一下就好了。

-- 创建'root'@'%'账户
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
-- 给'root'@'%'账户设置权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
-- 刷新权限
flush privileges;

此时,应当有两个root账户

use mysql;
select host, user, authentication_string, plugin from user;

应该可以看到有两个root账户,一个是'root'@'localhost''root'@'%'

看一下两个账号的加密插件是不是caching_sha2_password,至于为什么要看,具体原因往下看。

这次应该可以正常连接了。

如果连接的时候显示plugin caching_sha2_password could not be loaded,那我们就需要改一下加密插件了。

方法一:

这种方法应当在创建'root'@'%'之前设置,不然就使用第二种更加方便。

可以理解为,

方法一是为之后所有新用户指定加密插件,

方法二是修改指定一个用户的加密插件。

修改my.ini文件,在[mysqld]下面新增

default_authentication_plugin=mysql_native_password

方法二:文章来源地址https://www.toymoban.com/news/detail-599804.html

alter user 'root'@'%' identified with mysql_native_password by '123456';

到了这里,关于MySQL设置远程登录(为root用户设置远程登陆权限)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql添加用户授予root权限和ssl连接

    mysql添加用户,授予root权限 CREATE USER \\\'lddTest1\\\'@\\\'%\\\' IDENTIFIED BY \\\'ldd234\\\'; grant all privileges on *.* to \\\'baihu\\\'@\\\'%\\\' with grant option flush privileges; 修改用户名 update user set user=\\\'test\\\' where user=‘root’; FLUSH PRIVILEGES; 删除用户 drop user \\\'test1\\\'@\\\'localhost\\\'; 开启mysql 的ssl连接 show variables like \\\'%ssl%\\\'; SELECT ssl

    2024年02月01日
    浏览(48)
  • Ubuntu如何使用root用户远程登陆

    一、使用到的软件 1、VMware16 pro 2、Xshell7 二、原因 这是Ubuntu系统处于安全性的考虑; 我们不能使用root用户远程连接Ubuntu系统的原因是因为,系统内的/etc/ssh/sshd_config配置文件内PermitRootLogin这一行为no决定了我们无法使用root用户远程登陆,所以我们只需要更改这个配置文件的

    2024年02月05日
    浏览(44)
  • mysql授予用户远程访问权限

    MySQL 是一个流行的关系型数据库管理系统,用户可以使用 MySQL 在本地或远程服务器上存储和检索数据。在默认情况下,MySQL 数据库仅允许在本地主机上进行访问。如果您需要远程连接到 MySQL 数据库,您需要授予用户远程访问权限,并刷新权限使其生效。下面是授予 MySQL 用户

    2024年02月11日
    浏览(35)
  • mysql设置用户权限

    第一个 表示通配数据库,可指定新建用户只可操作的数据库 如:grant all privileges on 数据库. to ‘test1’@‘localhost’; 第二个*表示通配表,可指定新建用户只可操作的数据库下的某个表 如:grant all privileges on 数据库.指定表名 to ‘test1’@‘localhost’; all privileges 可换成select,up

    2024年02月03日
    浏览(28)
  • MySQL 设置用户权限步骤

    以下是在 MySQL 中设置权限的步骤 1、登录 MySQL 使用管理员账户和密码登录 MySQL。 2、创建用户账户 使用 CREATE USER 语句创建新用户账户。 例如,要创建名为 myuser 的新用户,可以执行以下语句: 3、授予权限(其他权限自己自行百度,文章后续有空会补充) 使用 GRANT 语句授予

    2024年02月12日
    浏览(27)
  • MySQL设置远程访问权限

    当我们在日常开发中;需要连接其他同事的数据库或者其他服务器的数据库;可能会出现以下情况 我们输入的用户和密码都正确;但是提示我们用户没有权限;这个用户指的是远程连接的电脑ip没有访问权限;不是mysql的用户没有权限 意味着该用户访问mysql被拒绝;也就是该

    2024年02月09日
    浏览(25)
  • 记录CentOS7 Linux下安装MySQL8_适合正式环境_干货满满(超详细,默认开启了开机自启动,设置表名忽略大小写,提供详细配置,创建非root专属远程连接用户)

    安装前先清理mariadb和mysql相关文件:    通过命令: rpm -qa|grep mariadb 查询是否安装了mariadb    卸载: rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64(复制上面命令查到的完整名称)    通过命令: find / -name mysql 查询跟mysql相关的文件     删除文件命令:    rm -rf /etc/selinux/targeted/act

    2024年02月04日
    浏览(37)
  • MySQL8.0版本在CentOS系统安装&&修改MySQL的root密码和允许root远程登录(介绍但对于生产来说不安全,学习可用)

    注意:安装操作 需要root权限 安装 配置yum仓库(秘钥为GnuPG签名,2023为版本的秘钥(对我当前是最新的),后面可能会改变)  # 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql- 2023 # 安装Mysql8.x版本 yum库, 其中的el7代表的应该是LInux7版本,可以参考阿里云的# MySQL :: 下载

    2024年04月14日
    浏览(43)
  • MySQL mysql-8.0.35-winx64 下载/配置/初始化/安装/打开/登陆/修改密码/退出/卸载/设置远程连接

    #---------------------------------------------------------------------------------------------------------------------------- [mysqld] #设置3306端口 port=3306 #设置mysql的安装目录 basedir=D:mysql-8.0.35-winx64database #设置mysql数据库的数据的存放目录 datadir=D:mysql-8.0.35-winx64databasedata #允许最大连接数 max_connections

    2024年02月04日
    浏览(38)
  • 【mysql】navicat创建子用户以及设置权限

    目录 1、新建用户 2、设置主机和密码 3、权限设置 4、异常说明 5、参考资料  主机%的意思是允许用户本地登入和远程登入。 3.1、针对某个数据库权限设置  左侧勾选数据库,右侧勾选赋予的权限。 3.2、针对指定数据库表权限设置 4.1、连接子用户时报错    4.2、子用户设置

    2024年02月11日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包