mysql 8.0 修改root账户 允许远程登录
时间: 2024-10-20 15:04:23 浏览: 78
在MySQL 8.0中修改`root`账户并允许远程登录通常需要以下几个步骤:
1. **登录本地服务器**: 首先,你需要以另一个有权限的用户(如`mysql`)登录到MySQL服务器。例如,通过命令行运行 `sudo -u mysql mysql`。
2. **更改root密码**: 执行以下命令以设置新的`root`密码:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
```
如果你想同时允许远程登录,替换 `'localhost'` 为 `%` 或者一个特定的IP地址,比如 `'0.0.0.0'`。
3. **更新访问控制文件**: MySQL将存储权限信息在两个文件中:`my.cnf` 或者在Windows上通常是 `C:\ProgramData\MySQL\MySQL Server 8.0\my.ini`。编辑其中一个文件,在 `[mysqld]` 或 `[server-id]` 下面添加如下内容:
```
bind-address = 0.0.0.0
```
这会让MySQL监听所有网络接口。
4. **重启服务**: 更改配置后,别忘了重启MySQL服务:
```
sudo service mysql restart
```
5. **验证远程连接**: 现在你可以尝试从其他机器通过SSH隧道或者直接通过网络连接来验证是否能成功连接了。
**注意事项**:
- 安全起见,强烈建议在生产环境中,不要简单地在命令行中输入`GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码';`,因为这会使root账号对整个数据库集群暴露给互联网。而是应该限制只授予必要的权限,并使用防火墙控制远程访问。
阅读全文