cxl
Published on 2025-03-11 / 1,628 Visits
85
0

Mysql管理

连接数据库服务

客户端连接命令

	mysql -uroot -p		-- 回车后输入密码,或直接在p后面输入密码回车,但这样有泄露的风险

库操作  

创建数据库  

	create database <数据库名>  

例如:建立一个名为 cxl 的数据库

	create database cxl 

显示所有的数据库  

	show databases  -- (注意:最后有个s)  

删除数据库  

	drop database <数据库名>  

例如:删除名为 cxl 的数据库  

	drop database cxl ;  

连接数据库  

	use <数据库名>  

例如:如果cxl 数据库存在,则进入: 

	use cxl ;  

查看当前使用的数据库  

	select database();  

当前数据库包含的表信息: 

	show tables; 

权限操作

创建用户

使用CREATE USER创建用户并设置密码(MySQL 8.0+推荐):

	CREATE USER 'username'@'host' IDENTIFIED BY 'your_strong_password';	-- host的值决定了哪些IP能访问,如果只是本机访问则为 localhost,如果不限主机则为 % 

授予权限

基本语法:

	GRANT 权限列表 ON 对象 TO '用户'@'主机';

示例1:授予只读权限
允许用户read_user从本地访问mydb数据库的所有表:

	GRANT SELECT ON mydb.* TO 'read_user'@'localhost';

示例2:授予多权限
允许用户dev_user管理mydb数据库的表结构和数据:

	GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP  ON mydb.* TO 'dev_user'@'192.168.1.%';

示例3:授予全局权限
授予用户admin全局权限(慎用!):

	GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

撤销权限

使用REVOKE收回权限:

	REVOKE 权限列表 ON 对象 FROM '用户'@'主机';

示例:撤销删除权限

	REVOKE DELETE ON mydb.* FROM 'dev_user'@'192.168.1.%';

查看权限

查看当前用户的权限:

	SHOW GRANTS;

查看指定用户的权限:

	SHOW GRANTS FOR 'user'@'host';

删除用户

	DROP USER 'user'@'host';


Comment