设为首页 加入收藏

TOP

shell 环境下MySQL的基本操作指令总结(二)
2017-11-22 06:07:13 】 浏览:159
Tags:shell 环境 MySQL 基本操作 指令 总结
table2的结果


INSERT  INTO  table1  SELECT  *  FROM  table2;        //往表table1插入表table2的数据


CREATE TABLE newadmin AS ( SELECT username, password FROM admin );      //创建一个表复制另一个表的一些字段


四、用户与用户权限管理


1、赋予用户权限


方法一:先创建用户再赋予权限:


USE `mysql`;


CREATE USER 'backend'@'%' IDENTIFIED BY 'Back123end'; //用户名backend,密码Back123end


FLUSH PRIVILEGES;


grant select,update,insert,delete,create,index,show databases on *.* to 'backend'@'%';  //第一个 * 符号代表所有数据库,第二个 * 符号代表所有数据表,backend表示数据库用户名。%符号代表所有主机


GRANT CREATE, INSERT,SELECT,SHOWDATABASES,INDEX,ALTER,UPDATE ON `db_backend`.* TO 'backend’@'%';    //给任何主机上的backend用户赋予db_backend数据库所有表的对应权限。


方法二:直接创建并赋予权限:


Grant all privileges on *.*  to  'backend'@'%' identified by '123456' with grant option;


2、查看mysql用户权限


方法一:直接查询mysql数据库的user表;


方法二: show grants for 你的用户;  或者  show grants for root@'localhost';


3、移除一个用户的权限


revoke insert,update,delete,alter,select ON *.* from 'xbb'@'localhost' IDENTIFIED BY '123';


revoke alter on *.*  from ‘backend’@’%’;


4、删除用户


drop user username;


5、更改mysql数据库root用户密码


UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE user='root';


FLUSH PRIVILEGES;

五、数据的备份与恢复


1.导出整个数据库(shell下使用)


  mysqldump -u 用户名 -p 数据库名 > 导出的文件名


  mysqldump -u root -p db_name > test.sql


2.导出一个表(shell下使用)


       mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql     //导出表结构


  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名     //导出表结构和数据


  mysqldump -u root -p db_name table_name> test.sql      //导出表结构和数据


3.导出一个数据库结构(shell下使用)


  mysqldump -u root -p -d –add-drop-table db_name > test.sql


  -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table


4.导入数据库(mysql控制台)


  mysql>use 数据库


  mysql>source /home/pt/test.sql


六、分区操作


查看分区:SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 'table_name';


删除分区:ALTER TABLE table_name DROP PARTITION p_name;


FLUSH TABLE;


七、其他


1.Show 语句用法


show tables或show tables from database_name; -- 显示当前数据库中所有表的名称。 
2. show databases; -- 显示mysql中所有数据库的名称。 
3. show columns from table_name from database_name; 或show columns from database_name.table_name; -- 显示表中列名称。 
4. show grants for user_name; -- 显示一个用户的权限,显示结果类似于grant 命令。 
5. show index from table_name; -- 显示表的索引。 
6. show status; -- 显示一些系统特定资源的信息,例如,正在运行的线程数量。 
7. show variables; -- 显示系统变量的名称和值。 
8. show processlist; -- 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。 
9. show table status; -- 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。 
10. show privileges; -- 显示服务器所支持的不同权限。 
11. show create database database_name; -- 显示create database 语句是否能够创建指定的数据库。 
12. show create table table_name; -- 显示创建表的语句。 
13. show engines; -- 显示安装以后可用的存储引擎和默认引擎。 
14. show innodb status; -- 显示innoDB存储引擎的状态。 
15. show logs; -- 显示BDB存储引擎的日志。 
16. show warnings; -- 显示最后一个执行的语句所产生的错误、警告和通知。 
17. show errors; -- 只显示最后一个执行语句所产生的错误。 
18. show [storage] engines; --显示安装后的可用存储引擎和默认引擎。


2.Infobright相关


将MySQL数据导出csv文件:


SELECT * FROM `20170913_login` INTO OUTFILE '/mydata/csv/20170913_login.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';


导入cs文件到In

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL主从复制技术的简单实现 下一篇MySQL数据表RANGE分区实例详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目