数据库登录

  1. mysql -u[user] -p[password]
  2. mysql -u[user] -p
  3. mysql -h[localhost] -u[user] -p[password]

显示数据库

show databases;

创建数据库

create database [database name];

选择数据库

use [database name];

查看当前数据库下的表

show tables [from database];

创建用户

create user [user name]@'localhost' identified by '[password]';

删除用户

drop user <用户名1> [ , <用户名2> ]…

修改用户密码

方法一:通过sql命令修改密码
命令:alter user 用户名@localhos identified by 新密码;
例子:alter user root@localhost identified by 123;

方法二:用UPDATE直接修改user表
—使用mysql数据库
use mysql;
—更改user表中指定用户的密码
update user set password=password(123) where user=root and host=localhost;
—权限刷新
flush privileges;
**

查询数据库用户

select user, host from mysql.user;

用户授权

mysql> **grant all privileges on dbname.tbname to** username@login ip identified by password with grant option;

  • dbname=* 表示所有数据库
  • tbname=* 表示所有表
  • login ip=% 表示任何ip
  • password为空,表示不需要密码即可登录
  • with grant option 表示该用户还可以授权给其他用户

**

细粒度授权

首先以root用户进入mysql,然后键入命令:
mysql> **grant select on . to [username]@localhost with grant option;
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为 “%” 。

粗粒度授权

我们测试用户一般使用该命令授权:
mysql> **grant all privileges on . to username@% identified by password;
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
mysql> grant all privileges on . to username@% identified by password** with grant option;
privileges包括:

  • alter:修改数据库的表
  • create:创建新的数据库或表
  • delete:删除表数据
  • drop:删除数据库/表
  • index:创建/删除索引
  • insert:添加表数据
  • select:查询表数据
  • update:更新表数据
  • all:允许任何操作
  • usage:只允许登录

**

查看用户权限

mysql> show grants for jkxeastexe@'localhost';

回收权限

mysql> **revoke privileges on dbname[.tbname] from username;
mysql> revoke all privileges on . from username;
mysql> *revoke select on .* from [username]@localhost;
**

数据导出

导出整个数据库
在windows的dos命令窗口中执行:
mysqldump [database]>D:\xxx.sql -u[username] -p[password]
导出指定库下的指定表
在windows的dos命令窗口中执行:
mysqldump [database] [tablename]> D:\ xxx.sql -u[username] -p[password]
**

—查看表空间

select * from information_schema.innodb_tablespaces;

—创建表空间

create tablespace [tablespace name] add datafile 'D:\\mysql\\MySQL Server 8.0\\Data\\[tablespace name].ibd' engine=innodb;

—删除表空间

drop tablespace [tablespace name];

修改root密码

方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password(新密码);
例子:mysql> set password for root@localhost = password(123);
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password(123) where user=root and host=localhost;
mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld —skip-grant-tables 回车。—skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。