数据库登录
mysql -u[user] -p[password]mysql -u[user] -pmysql -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登录。
