mysql8.0 创建远程可访问新用户
时间: 2023-05-25 22:03:05 浏览: 448
1. 登录 MySQL 数据库,进入 MySQL 命令行:
```
mysql -u root -p
```
2. 创建新用户并授权远程访问:
```
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
FLUSH PRIVILEGES;
```
这里创建了一个用户名为 newuser,密码为 password 的新用户,并授予其全部权限,包括对所有数据库和表的操作。
注意其中的 `%` 表示该用户可以从任何 IP 地址进行远程连接,如果需要限制特定 IP 地址访问,可以使用具体的 IP 地址代替 `%`。
3. 退出 MySQL 命令行:
```
EXIT;
```
现在,新用户就可以使用 MySQL 客户端从远程访问 MySQL 数据库了。
相关问题
mysql8.0如何设置远程访问
MySQL 8.0默认情况下不允许远程访问,因此如果要在远程计算机上连接到MySQL 8.0,需要按照以下步骤进行设置:
1. 登录MySQL 8.0服务器所在的计算机上的MySQL客户端。在控制台输入以下命令:`mysql -u root -p`,其中“root”为MySQL管理员账户名称。
2. 输入MySQL管理员账户密码,并登录MySQL。
3. 输入以下命令来创建一个新的MySQL用户,并授予远程访问权限:`CREATE USER 'user'@'%' IDENTIFIED BY 'password';`,其中“user”为新的MySQL用户名,“password”为该用户的密码。“%”表示可以从任何远程计算机访问该用户。
4. 授予新用户访问MySQL数据库的权限:`GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';`
5. 刷新MySQL服务器权限:`FLUSH PRIVILEGES;`
6. 修改MySQL服务器设置来允许远程访问:在安装目录里找到my.ini文件,在文件后加上:bind-address=0.0.0.0,保存退出。
7. 重启MySQL服务器:输入以下命令以重新启动MySQL服务:`systemctl restart mysqld`
执行完以上步骤后,远程计算机即可使用新用户连接到MySQL服务器。可以使用以下命令进行连接:`mysql -u user -h ip_address -p`,其中“user”为新的MySQL用户名, “ip_address”为MySQL服务器所在的IP地址,输入密码后即可成功连接MySQL。
mysql8.0用户权限
在MySQL 8.0中,你可以通过创建新用户并为其授予相应的权限来管理用户权限。首先,你需要编辑MySQL的配置文件my.cnf,并在[mysqld]部分添加以下代码:default_authentication_plugin=mysql_native_password。然后,重启MySQL服务以使更改生效。
在MySQL 8.0之前的版本中,你可以使用以下命令来创建远程访问的新用户并为其授予权限:
1. 连接到MySQL数据库:use mysql;
2. 使用grant语句为用户授权:
- grant all privileges on *.* to '新用户名'@'%' identified by '密码' with grant option;(允许所有IP访问)
- grant all privileges on *.* to '新用户名'@'指定ip' identified by '密码' with grant option;(仅允许指定IP访问)
例如,以前版本的创建用户授权的语句为:grant all privileges on *.* to 'root'@'%' identified by "123456" with grant option;
最后,使用flush privileges命令刷新权限。
在MySQL 8.0中,创建用户和授权的操作需要分开进行:
1. 创建用户角色:CREATE USER 'root'@'%';(创建角色)
2. 设置用户密码:ALTER USER 'root'@'%' IDENTIFIED BY '123456';(设置密码)
3. 授予用户权限:grant all privileges on *.* to "root"@"%";(给角色授权)
最后,使用flush privileges命令刷新权限。
如果你需要修改用户的主机信息,你可以使用以下命令:
update mysql.user set host='具体要指定的主机ip' where user='root';(修改主机)
你可以使用以下命令查看用户信息:
select user,host,authentication_string from user;(查看用户信息)
希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>