数据库MySQL基本操作(一)

本文详细介绍了MySQL的用户管理操作,包括启动MySQL、查看和创建用户、删除用户、修改权限、权限回收、账户重命名以及密码修改。此外,还特别提到了使用mysql_real_connect在C语言中可能出现的问题及解决方案,强调了使用IP地址代替localhost来避免连接失败的问题。
摘要由CSDN通过智能技术生成

启动MySQL:

mysql -u root -p

一、权限查询
(1)查看mysql的所有用户及其权限:

select * from mysql.user\G;   #(格式化显示)

(2)查看当前mysql用户权限:

show grants;

(3)查看某个用户的权限

show grants for username@host; #用户名@主机

(4)查看所有用户

select host,user from mysql.user;

二、用户创建
使用create user命令创建。

create user '用户名'@'主机' identified by '密码';
//示例
create user 'yangchao'@'localhost' identified by 'yangchao';
flush privilege;        #创建完用户及权限后,需要使用该命令刷新权限

三、删除用户

drop user '用户名'@'主机';

四、修改权限
刚创建的用户默认是没有权限的,需要使用grant指令进行权限的授予。

grant 权限列表 on 数据库名.数据表名 to ‘用户名’@’主机’ identified by ‘密码’ with grant option; #数据库名.*代表库下所有的表
//eg:
grant all privileges on *.* to ‘yangchao1’@'localhost' identified by 'yangchao1' with grant option;

可使用“*”表示所有数据库或所有数据表,“%”表示任何主机地址。

授权后一定要刷新权限:flush privileges;

五、 Mysql用户权限回收:
revoke指令格式:

revoke 权限列表 on 数据库名.数据表名 from 用户名@主机;

示例:

revoke drop on *.* from test@localhost;#回收drop权限

注意:

其实GRANT语句在执行的时候,如果权限表中不存在目标账号,则创建账号;如果已经存在,则执行权限的新增。
usage权限不能被回收,也就是说,REVOKE用户权限并不能删除用户。

六. 对账户重命名:

rename user '旧用户名'@'旧主机' to '新用户名'@'新主机';

示例:

rename user 'test'@'localhost' to 'test1'@'localhost';
1.

七. Mysql用户密码修改:

方法一:使用set password命令。

set password for '用户名'@'主机' = password('新密码'); #需要执行刷新权限
flush privileges;

示例:

set password for 'yangchao'@'localhost' = password('123456');
flush privileges;

方法二:使用grant指令在授权时修改密码:

grant select on 数据库名.数据表名 to 用户名@主机 identified by '新密码' with grant option;

示例:

grant select on test.user to test@localhost identified by '111111' with grant option;

方法三:运行mysqladmin脚本文件。

该文件一般在mysql安装目录下的bin目录中。进入该目录,根据一下两种具体情况输入命令(只有root用户有这个权限)。

(1)用户尚无密码:

mysqladmin -u 用户名 password 新密码;

(2)用户已有密码:

mysqladmin -u 用户名 -p password 新密码;

(回车后会提示输入旧密码,输入之后即可修改成功。)

注意:

更改密码时候一定要使用PASSWORD函数(mysqladmin 和GRANT 两种方式不用写,会自动加上)。

**

mysql_real_connect 连接失败 问题!

**
mysql 的c函数mysql_real_connect, 用localhost为参数进行连接,第一次会成功,但第二次就会抛出异常。本人遇到这个问题,查找了好久,最后才发现问题所在!

解决办法:改用ip地址就可以!

经验共享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值