MySQL 权限修改(允许远程访问)

本文详细介绍了MySQL中权限的添加、修改、删除方法,包括数据库、数据表、数据列权限的操作。同时,提供了远程访问权限的修改步骤,允许指定IP地址的用户访问数据库。

一、权限添加修改

添加权限

grant 权限 on 数据库.表 to 用户名@'域' identified by '密码';

删除权限

revoke 权限 on 数据库.表 from 用户名@'域';

刷新

flush privileges;

 

数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
全局管理MySQL用户权限:
file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。

 

二、远程访问权限修改

不许访问的原因是 mysql对每个用户的访问权限控制了,可以查看一下 数据库mysql.user表, 

Host 字段就是允许访问的地址了,在里面添加你想叫访问的ip地址  '%' 是代表允许所有地址访问

So...修改它就可以了

 

1. 修改原有用户

    mysql>update user set host = '%' where user = 'root';

2. 添加新用户

    mysql>insert into mysql.user (host,user,password) values('%','crackren',PASSWORD('pw123456'));
    mysql>grant select on *.* to 'crackren'@'%' identified by 'pw123456';
    mysql>flush privileges;

 

    (注意如果只是允许访问就行了,添加的用户没必要把所有权限都给他)

### 配置 MySQL 用户允许远程访问 要在 Ubuntu 上配置 MySQL允许用户远程访问,可以按照以下方法实现: #### 1. 安装 MySQL 确保已安装 MySQL。如果没有安装,可以通过以下命令完成安装: ```bash sudo apt update sudo apt install mysql-server ``` 验证 MySQL 是否正在运行: ```bash systemctl status mysql ``` 如果显示 `active (running)` 则表明服务已经启动[^3]。 #### 2. 创建新用户并授权远程访问 进入 MySQL 命令行界面: ```bash sudo mysql -u root -p ``` 创建一个新的用户,并指定可以从任何 IP 地址 (`%`) 访问此用户权限: ```sql CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password'; ``` 授予该用户对特定数据库的完全控制权(或其他所需的权限): ```sql GRANT ALL PRIVILEGES ON your_database.* TO 'remote_user'@'%'; FLUSH PRIVILEGES; ``` 此处替换 `'your_password'` 和 `'your_database'` 为你自己的密码和数据库名称[^1]。 #### 3. 修改 MySQL 配置文件 编辑 MySQL 的配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf` 或者 `/etc/mysql/my.cnf` 文件,找到 `bind-address` 参数并将它更改为 `0.0.0.0` 来监听所有网络接口: ```ini bind-address = 0.0.0.0 ``` 保存更改后重启 MySQL 服务使改动生效: ```bash sudo systemctl restart mysql ``` #### 4. 打开防火墙端口 确认系统的防火墙规则允许外部流量到达 MySQL 默认使用的 3306 端口。如果是 ufw,则执行以下命令打开端口: ```bash sudo ufw allow 3306/tcp sudo ufw reload ``` #### 5. 测试远程连接 使用客户端工具如 MySQL Workbench 或其他支持 MySQL 协议的应用程序来测试新的远程用户是否能够成功登录到服务器上的 MySQL 实例[^1]。 --- ### 注意事项 - **安全性考虑**: 生产环境中应避免使用 `%` 表示允许来自任意主机的连接;而是应该限定具体的IP范围或者子网掩码。 - **SSL/TLS 加密传输数据**: 对于敏感信息交换场景下推荐启用加密通信选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值