CentOS下配置MySQL允许root用户远程登录

在CentOS上成功安装MySQL Server后,发现无法用客户端进行连接,查阅相关质料后发现如果想让root用户支持远程登录,是需要进行额外配置的;配置步骤如下:

步骤:

  1. 修改root密码 (可选)

    # 切换到mysql这个数据库
    mysql> use mysql;
    
    # 将root用户的密码修改为:123456
    mysql> update user set password=PASSWORD('123456') where user='root';
    
  2. 检查root配置

    # root用户登录
    $ mysql -u root -p
    
    # 切换到mysql这个数据库
    mysql> use mysql;
    
    # 查看root用户配置
    mysql> select host,user from user where user='root';
    
  3. 修改root配置

    如果查询结果中不包含以下记录,请添加,否则请忽略次步骤

    hostuser
    %root

    mysql> update user set host = ‘%’ where user = ‘root’ and host=’127.0.0.1’;

  4. 给用户授权

    mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    
  5. 使配置生效

    mysql> flush privileges;
    

配置完成,客户端重新登录成功;

### 配置 MySQL 8 允许 Root 用户远程登录 #### 修改 MySQL配置文件 为了使 MySQL 支持远程连接,需编辑 MySQL配置文件 `my.cnf` 或者 `mysqld.cnf` 文件。通常位于 `/etc/my.cnf.d/`, `/etc/mysql/conf.d/` 或者 `/etc/my.cnf`. 找到 `[mysqld]` 下面加入或修改 bind-address 参数为服务器 IP 地址或者注释掉这行以监听所有接口。 ```ini # /etc/my.cnf or similar location [mysqld] bind-address = 0.0.0.0 ``` #### 创建并授权用户访问权限 进入 MySQL 命令行工具: ```bash mysql -u root -p ``` 创建新用户用于远程访问,并赋予相应权限[^2]: ```sql CREATE USER 'root'@'%' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 对于已存在的 root 账户,更新其主机字段以便可以从任意地址连接[^4]: ```sql USE mysql; UPDATE user SET host='%' WHERE user='root'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_secure_password'; FLUSH PRIVILEGES; ``` 注意:出于安全考虑,建议不要直接给 root 用户分配远程访问权限;而是创建一个新的具有适当权限的专用远程管理账号。 #### 更改身份验证插件 由于 MySQL 8 默认采用 caching_sha2_password 插件作为默认的身份验证方法,部分旧版客户端可能无法兼容。可以通过更改用户的认证方式来解决这个问题: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; FLUSH PRIVILEGES; ``` 最后重启 MySQL 服务应用变更: ```bash systemctl restart mysqld.service ``` 确保防火墙开放MySQL 端口(通常是3306),如果启用了 SELinux,则还需要调整策略允许网络流量到达 MySQL 服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值