mysql常用命令整理

mysql命令登录

> mysql -uroot
> mysql -h127.0.0.1 -P3306 -uUsername -pPassword

常用参数

  • -u 用户名
  • -p 密码
  • -h 服务器ip/域名
  • -P 端口,默认3306

常用查看命令

  • status; –显示当前状态
  • show databases; –显示所有数据库
  • select database(); –当前使用的数据库
  • use databaseName; –更换使用的数据库
  • show tables; –显示当前数据库的表
  • show tables from databaseName; –显示指定数据库的表
  • desc tableName; –显示表结构

用户/权限 操作

use mysql;

先进入mysql数据库方便操作

用户

查看用户

select host,user,password from user;

显示user表的host,user,password

1
2
3
4
5
6
7
8
9
10
11
+-----------------------+------+-------------------------------------------+
| host | user | password |
+-----------------------+------+-------------------------------------------+
| localhost | root | |
| localhost.localdomain | root | |
| 127.0.0.1 | root | |
| localhost | | |
| localhost.localdomain | | |
| % | jira | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | jira | |
+-----------------------+------+-------------------------------------------+

添加用户

create user new_user IDENTIFIED by 'xxxxx';

identified by 会将纯文本密码加密作为散列值存储
默认创建的是远程用户new_user@'%'
% 通配所有IP,localhost不是IP

create user new_user@localhost;

创建指定本地用户

修改用户

RENAME USER old_user TO new_user;
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';

mysql 5之后可以使用,之前需要使用update更新user

更改密码

set password for root=password('xxxxxx');
set password for root@'%'=password('xxxxxx');
update mysql.user set password=password('xxxx') where user='root';

改可以直接修改user表中的记录

删除用户

drop user newuser;

mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

权限

常用权限说明

  • all 所有权限;
  • select , update , delete , insert 普通表操作权限
  • create , alter , drop 创建、修改、删除 数据表结构权限
  • references 外键权限
  • create temporary 临时表权限
  • index 索引权限
  • create view , show view 创建、查看视图权限
  • create routine , alter routine , execute 创建,更改,执行存储过程权限
  • lock tables 锁表
  • create user 创建用户

常用角色权限

  • 普通用户 grant select, insert, update, delete on testdb.* to test_user@'%'
  • 普通开发人员 grant all on testdb to dev@localhost
  • DBA grant all on *.* to dba@localhost

查看用户权限

show grants for jira;

1
2
3
4
5
6
+-----------------------------------------------------------------------------------------------------+
| Grants for jira@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'jira'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT ALL PRIVILEGES ON `jira`.* TO 'jira'@'%' |
+-----------------------------------------------------------------------------------------------------+

赋予权限

grant select ON dmc_db.* TO zx_root;
grant all ON dmc_db.* TO zx_root;

回收权限

revoke select on dmc_db.* from zx_root;

更新权限缓存

flush privileges ;

修改权限后,立即生效(更新权限缓存)