Loading

mysql常用命令

-----创建-----

查看服务器中当前有哪些数据库
mysql> show databases;

选择所使用的数据库
mysql> use 数据库名;

创建数据库
mysql> create database 数据库名;

在当前数据库中创建数据表
mysql> create table 表名 (字段 1 类型 1,...);

-----删除-----

删除指定的数据库
mysql> drop database 数据库名;

删除当前或指定数据库中指定的数据表 
mysql> drop table 表名;

删除所有记录
mysql> truncate table 表名;

删除字段
mysql> alter table 表名 drop 字段;

在数据表中删除指定的记录 
mysql> delete from 表名 where 条件表达式;

将当前数据库表中记录清空 
mysql> delete from 表名;

用optimize table来优化一下,只对MyISAM, BDB和InnoDB表起作用。运行过程中,MySQL会锁定表。
mysql> optimize table test.userinfo;

-----查看-----

查看服务器中当前有哪些数据库
mysql> show databases;

显示当前数据库中有哪些数据表 
mysql> show tables;

显示当前或指定数据库中指定数据表的结构(字段)信息 
mysql> describe 表名;

显示当前数据库的表中的记录
mysql> select * from 表名;

从数据表中查找符合条件的记录 
mysql> select 字段名 1,字段名 2……from 表名 where 条件表达式;

查看创建数据表的DDL语句
show create table 表名

查看usertest中数据按uid排序显示,SELECT * FROM table_name1 ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
SELECT * from usertest ORDER BY uid ASC;

-----修改-----

修改数据表的名称
mysql> alter table 旧表名 rename 新表名;

修改字段的类型 
mysql> alter table 表名 modify 字段 类型;

修改字段
mysql> alter table 表名 change 旧字段名 新字段名 类型;

修改、更新数据表中的记录 
mysql> update 表名 set 字段名=新数据 where 条件表达式;

-----增加-----

增加字段
mysql> alter table 表名 add 字段 类型(first/after);

向user表中的name字段后添加aa字段。
mysql> alter table user add aa after name;

添加aa字段并将其作为第一个字段
mysql> alter table user add aa first;

向数据表中插入新的记录
mysql> insert into 表名(字段 1,字段 2,……) values(字段 1 的值, 字段 2 的值,……);
INSERT INTO usertest(NAME,email,age,sex,phone)  SELECT NAME,email,age,sex,phone FROM usertest;

-----对用户授权 -----

mysql> grant 权限 1,权限 2,...... on 数据库.数据表 to 用户@登录位置 (identified by '密码');
取消用户授权
mysql> revoke 取消的权限 1,取消的权限 2,...... on 数据库.数据表 from 用户@登录位置;
mysql> show grants for 用户@登录位置;

1.授予用户全部权限
创建用户
Mysql> CREATE USER 'lis'@'%' identified by '123456';
Mysql> select host,user,password from mysql.user;
Mysql> grant all on test.a1 to lis@'%'; 

给已存在用户(lis)授权,对 aa 库中的 a1 表有全部(all)权限, ‘%’代表除本机以外所有。
Mysql> grant all on *.* to lis@'%';

给已存在用户(lis)授权,对所有库所有表有全部(all)权限
Mysql> grant all on aa.a1 to lis@'%';

创建用户 abc 的同时并授权对 aa 库中的 a1 表有全部(all)权限
Mysql> grant all on aa.a1 to abc@'%' identified by '123456';

2.取消 abc 用户的删除库、表、表中数据的权限
Mysql> revoke drop,delete on aa.a1 from abc@'%';  #取消删除权限(登录 abc 测试)
Mysql> show grants for abc@'%'; #查看指定用户 abc 的授权 

创建root用户,密码Idmm4+TtBmc=,权限和root一样的用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Idmm4+TtBmc=' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

-----更改数据库密码-----

方法1
用SET PASSWORD命令   
首先登录MySQL。
更改其他用户密码
mysql> set password for root@localhost = password('123456'); 

更改当前用户密码
mysql> set password=password('123456');


方法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;  

找回密码

1.root 找回自己的密码并修改
1)关闭数据库
2)修改主配置文件(/etc/my.cnf)<------ skip-grant-tables
3)启动数据库
4)空密码登录并修改密码
mysql> update mysql.user set password=password('新密码') where user='root';
5)删除 skip-grant-tables,重启数据库验证新密码
posted @ 2020-03-29 18:12  Outsrkem  阅读(173)  评论(0编辑  收藏  举报