开发者社区 问答 正文

MySQL开启远程连接权限

(有什么问题欢迎指教,企鹅:2172243813 更多资讯尽在通天源码论坛)
对于我们刚开始安装的mysql获取mariadb来说,默认是不开启远程连接的。所以需要我们手动开启远程连接的权限。

  1. 登录mysql
    mysql -u root -p
    Enter password:
    如果刚安装没有设置密码的话就直接回车

  2. 切换到mysql这个数据库
    use mysql;

  3. 修改root的host为%
    update user set host = '%' where user ='root';
    检查是否以修改:
    select host, user from user;
    +--------------+------+
    | host        | user |
    +--------------+------+
    | %          | root |
    | 127.0.0.1    | root |
    | ::1         | root |
    | dfa0e46aa7ac |     |
    | dfa0e46aa7ac | root |
    | localhost    |     |
    +--------------+------+

  4. 设置root密码
    UPDATE user SET Password = PASSWORD('123456') WHERE user ='root';
    检查:
    select host, user , password fromuser;


    +--------------+------+-------------------------------------------+
    | host        | user | password                            |
    +--------------+------+-------------------------------------------+
    | %          | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | dfa0e46aa7ac | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|
    | 127.0.0.1    | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | ::1         | root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
    | localhost    |     |                                    |
    | dfa0e46aa7ac |     |                                    |
    +--------------+------+-------------------------------------------+
    注意sql语句不要写错了,是Password =PASSWORD('123456'),PASSWORD函数会对密码进行加密,匹配时同样会对输入的密码加密然后再比对。

  5. 刷新修改,使其生效
    flush privileges;

  6. 使用客户端连接检测是否成功

本文来自苦逼IT小子的新浪博客

展开
收起
通天技术 2017-09-20 15:48:28 3409 分享 版权
阿里云 AI 助理回答

您已经详细描述了如何为MySQL或MariaDB开启远程连接并修改root用户的密码。这个过程主要包括以下几个步骤:

  1. 登录MySQL: 使用命令 mysql -u root -p,如果初始安装没有设置密码,则直接回车进入。

  2. 切换到mysql数据库: 执行 use mysql; 命令来操作权限相关的表。

  3. 修改root用户host为%: 运行命令 update user set host = '%' where user ='root';,这允许root用户从任意IP地址连接。

  4. 检查修改结果: 通过 select host, user from user; 查看修改是否生效,确保root的Host列显示为%

  5. 设置root密码: 如果需要设置或更改root密码,使用命令 UPDATE user SET Password = PASSWORD('123456') WHERE user ='root';,请将123456替换为您想要设置的密码。

  6. 验证密码设置: 通过 select host, user , password from user; 检查密码是否已更新,并确认加密后的密码显示在结果中。

  7. 刷新权限: 最后,执行 flush privileges; 命令使所有权限更改立即生效。

  8. 测试远程连接: 使用客户端软件(如MySQL Workbench、Navicat等)或命令行工具尝试从另一台机器连接到MySQL服务器,以验证远程访问是否成功。

请注意,出于安全考虑,将root用户的访问权限设为%(即允许任何IP连接)可能会增加安全风险,尤其是在生产环境中。建议仅在必要时这么做,并且应考虑使用更严格的防火墙规则、SSL加密连接以及创建具有有限权限的其他用户进行日常管理任务。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答