一、資料庫操作 1、查看資料庫 2、創建資料庫 3、使用資料庫 4、用戶管理 mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; + + | query | + + | ...
一、資料庫操作
1、查看資料庫
SHOW DATABASES; # 預設資料庫: mysql - 用戶許可權相關數據 test - 用於用戶測試數據 information_schema - MySQL本身架構相關數據
2、創建資料庫
# utf-8 編碼 CREATE DATABASE 資料庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk 編碼 CREATE DATABASE 資料庫名稱 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
3、使用資料庫
USE db_name; # 可以不使用分號
4、用戶管理
# 創建用戶 create user '用戶名'@'IP地址' identified by '密碼'; # 刪除用戶 drop user '用戶名'@'IP地址'; # 修改用戶 rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';; # 修改密碼 set password for '用戶名'@'IP地址' = Password('新密碼') PS:用戶許可權相關數據保存在mysql資料庫的user表中,所以也可以直接對其進行操作(不建議)
# 查看當前用戶 select user(); # 查看所有用戶 select host,user from mysql.user; # 人性化顯示所有用戶 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; # 查看用戶的所有許可權 show grants for 'nick'@'%';
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; +---------------------------+ | query | +---------------------------+ | User: 'nick'@'%'; | | User: 'root'@'localhost'; | +---------------------------+ 2 rows in set (0.00 sec) mysql> mysql> mysql> mysql> mysql> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | % | nick | | localhost | root | +-----------+------+ 2 rows in set (0.00 sec) mysql> show grants for 'nick'@'%'; +-----------------------------------------------------------------------------------------------------+ | Grants for nick@% | +-----------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'nick'@'%' IDENTIFIED BY PASSWORD '*ECE7D02DCD7D4EF7CFE8E3B249FD1D5062A821F7' | | GRANT ALL PRIVILEGES ON `kaoshi`.* TO 'nick'@'%' | | GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'nick'@'%' | | GRANT ALL PRIVILEGES ON `xxxxxx`.`chouti` TO 'nick'@'%' | +-----------------------------------------------------------------------------------------------------+ 4 rows in set (0.00 sec) mysql>View Code
5、授權管理
# 查看許可權 show grants for '用戶'@'IP地址' # 授權 grant 許可權 on 資料庫.表 to '用戶'@'IP地址' # 取消許可權 revoke 許可權 on 資料庫.表 from '用戶'@'IP地址'
常用許可權: all privileges 除grant外的所有許可權 select 僅查許可權 select,insert 查和插入許可權 usage 無訪問許可權 對於目標資料庫以及內部其他: 資料庫名.* 資料庫中的所有 資料庫名.表 指定資料庫中的某張表 資料庫名.存儲過程 指定資料庫中的存儲過程 *.* 所有資料庫 對於用戶和IP: 用戶名@IP地址 用戶只能在改IP下才能訪問 用戶名@192.168.1.% 用戶只能在改IP段下才能訪問(通配符%表示任意) 用戶名@% 用戶可以再任意IP下訪問(預設IP地址為%)
all privileges 除grant外的所有許可權
select 僅查許可權
select,insert 查和插入許可權
...
usage 無訪問許可權
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存儲過程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(關閉MySQL)
super