日常开发中,给应用创建专用的MySQL用户并赋予最小权限是安全实践。下面记录从建用户到用C代码访问数据库的完整过程。
创建普通用户
先看下现有用户。切换到mysql数据库,查user表:
use mysql;
select host, user, authentication_string from user;

创建用户时,选择允许的连接位置。本地开发填localhost就行,如果想让这个用户能从任意机器远程登录,可以用%。命令如下:
create user '用户名'@'登陆主机/ip' identified by '密码';
想删掉用户的话,同样指定主机名:
drop user '用户名'@'主机名';
root可以给普通用户改密码:
set password for '用户名'@'主机名'=password('新的密码');
接下来是权限。先看下常见的权限列表,其实就是操作对应的关键字:
授权用grant,*.*表示所有库的所有对象,库名.*代表某个库下的所有表、视图等:
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置';
比如给newuser授予testdb库的全部权限:

别忘记刷新权限,让改动生效:
flush privileges;











