MySQL创建数据库及用户
创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
其中COLLATE
与CHARSET
的对应关系http://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html
- 示例
CREATE DATABASE IF NOT EXISTS testdb DEFAULT CHARSET utf8;
-
查询创建库的语句
SHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
-
删除数据库
-- 删除数据库
drop database testDB;
创建用户并授权
-- 用户密码30天过期
CREATE USER IF NOT EXISTS \'test\' IDENTIFIED BY \'test\' PASSWORD EXPIRE INTERVAL 30 DAY
-- 用户密码永不过期
CREATE USER IF NOT EXISTS \'test\' IDENTIFIED BY \'test\' PASSWORD EXPIRE NEVER
-- 授权testdb库的所有权限给用户test
GRANT ALL ON testdb.* TO \'test\'@\'localhost\';
-- 只把testdb库的select、insert、update授权给用户test
GRANT SELECT, INSERT,UPDATE ON testdb.* TO \'test\';
还可以只授权某个表,甚至某个列给用户,具体查官网文档http://dev.mysql.com/doc/refman/5.7/en/grant.html
- 授权完毕后,刷新权限表
-- 刷新系统权限表
flush privileges;
-
撤销授权:使用REVOKE命令
REVOKE INSERT ON testdb.* FROM test;
-- 锁定test用户,不让其登录
ALTER USER IF EXISTS test ACCOUNT LOCK;
-- 解锁test用户
ALTER USER IF EXISTS test ACCOUNT UNLOCK;
-- 设定test用户的密码180天过期
ALTER USER test PASSWORD EXPIRE INTERVAL 180 DAY;
- 重命名用户
RENAME USER test TO new_test;
- 删除用户
DROP USER IF EXISTS test;
SET PASSWORD FOR test = test_pwd;
也可以使用如下方式
#cmd,运行DOS,cd到mysql的bin文件夹,然后执行如下
D:\Mysql\bin>mysqladmin -u root -p password newPwd
#Enter password:(在此输入原密码)
#newPwd指的是新密码
然后打开mysql 直接输入新密码即可
- 查询当前用户
SELECT CURRENT_USER();
查询相关
-- 查询所有数据库
show databases;
-- 查询所有表
show tables;
-- 查询表中所有的列
show columns from 表名;
-- 或
describe 表名;