MySQL 权限管理与 C/C++ 客户端开发实战
在数据库开发与运维中,普通用户的创建与权限管控是保障安全的基础。而本地连接、远程访问的配置,以及 C/C++ 程序的对接调用,则是打通'数据库 - 应用'链路的核心环节。很多开发者在实际操作中会遇到用户登录失败、远程连接被拒绝或接口调用报错等问题。本文将从实战出发,拆解 MySQL 普通用户的配置流程,以及 C/C++ 访问 MySQL 的完整实现。
一、普通用户的创建与管理
1. 查看账户信息
user表属于 mysql 系统库,需先切换上下文:
use mysql;
查询现有账户及认证信息:
select host, user, authentication_string from user;
2. 创建普通用户
创建时需注意主机限制。本地登录填 localhost,允许公网访问可填 %。
create user '用户名'@'登陆主机/ip' identified by '密码';
3. 删除用户
指定准确的主机名(如 localhost、% 或具体 IP)进行删除:
drop user '用户名'@'主机名';
4. 修改密码
注意: 此处不能使用 drop user,应使用 SET PASSWORD 语句。
修改当前用户密码:
set password = password('新密码');
Root 账号修改指定用户密码:
set password for '用户名'@'主机名'=password('新密码');
5. 权限分配
权限列表通常对应 SQL 关键字。使用 GRANT 赋予权限:
grant 权限列表 on 库。对象名 @;


