MySQL 权限管理与 C/C++ 客户端开发实战指南
在数据库开发与运维中,权限管控是安全基石,而本地或远程连接配置、C/C++ 程序对接则是打通应用与数据链路的关键。很多开发者在实际操作中常遇到用户登录失败、远程连接被拒或接口调用报错等问题。本文将结合实战经验,拆解 MySQL 普通用户的创建与维护、本地/远程访问配置,以及 C 语言访问 MySQL 的完整流程(含环境搭建、代码实现与排查),助你在多场景下高效搞定数据库接入。
一、普通用户管理
1. 查看账户信息
user 表位于 mysql 系统库中,需先切换上下文:
USE mysql;
SELECT host, user, authentication_string FROM user;
执行后可看到当前所有账户及其认证信息。
2. 创建普通用户
创建用户时需注意主机限制。本地连接填 localhost,若需允许公网访问可填 %。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
3. 删除用户
指定用户名和主机名即可移除账户:
DROP USER 'username'@'host';
4. 修改密码
注意: 此处不要误用删除命令。修改密码应使用 ALTER USER 语句。
-- 修改当前用户密码
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
-- 或者 root 修改其他用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
5. 授权与回收
权限分配遵循最小原则。基本语法如下:
-- 授予权限
privilege_list database.object @;
privilege_list database.object @;


