热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL用户管理、 常用sql语句、MySQL数据库备份恢复

为什么80%的码农都做不了架构师?MySQL用户管理▲MySQL创建一个普通用户并授权说明默认有一个root是超级管理员,不可能是所有的开发人员或

为什么80%的码农都做不了架构师?>>>   hot3.png

 MySQL用户管理

▲ MySQL创建一个普通用户并授权

说明 默认有一个root是超级管理员,不可能是所有的开发人员或者是某个网站.假如我们现在要安装一个程序,做一个网站,那么这个网站肯定是要去连接MySQL, 连接MySQL就需要用户名和密码,MySQL里面可以跑多个库,每个库里面有很多个表,所以需要单独给用户做一些授权,只需要对某个数据库有授权,或者是对数据库的某个表有权限.

●授权命令如下:

mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.05 sec)说明 grant 是授权的意思;all 表示所有的权限(读、写、查询、删除); *.* 前者表示所有的数据库,后者表示所有的表;identified by后面跟密码,用单引号括起来;user1用户指定是127.0.0.1 IP的user1.

● user1 用户登录mysql

[root@root-02 ~]# mysql -uuser1 -p123456 -h127.0.0.1
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.6.35 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

● 查看用户指定授权

查询用户指定授权命令如下:

mysql> show grants for user1@'127.0.0.1';
+-----------------------------------------------------------------------------------------------------------------------+
| Grants for user1@127.0.0.1 |
+-----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'user1'@'127.0.0.1' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
   常用sql语句

● 查询语句

说明 mysql.user表示MySQL库的user表,count(*)表示表中共有多少行.

第一种形式:

mysql> select count(*) from mysql.user;
+----------+
| count(*) |
+----------+
| 7 |
+----------+
1 row in set (0.00 sec)

● select * from mysql.db\G; ---表示查询MySQL库的db表中的所有数据,这种查询方式不建议经常使用,若数据库表行数非常多的话,查询起来会很慢,并且很耗费资源.

第二种形式:

mysql> select * from mysql.db\G;
*************************** 1. row ***************************Host: %Db: testUser: Select_priv: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YGrant_priv: NReferences_priv: YIndex_priv: YAlter_priv: Y
Create_tmp_table_priv: YLock_tables_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: NExecute_priv: NEvent_priv: YTrigger_priv: Y
*************************** 2. row ***************************Host: %Db: test\_%User: Select_priv: YInsert_priv: YUpdate_priv: YDelete_priv: YCreate_priv: YDrop_priv: YGrant_priv: NReferences_priv: YIndex_priv: YAlter_priv: Y
Create_tmp_table_priv: YLock_tables_priv: YCreate_view_priv: YShow_view_priv: YCreate_routine_priv: YAlter_routine_priv: NExecute_priv: NEvent_priv: YTrigger_priv: Y
2 rows in set (0.00 sec)ERROR:
No query specified

● 查询mysql库的单个字段

查询mysql库的单个字段命令如下:

mysql> select db from mysql.db;
+---------+
| db |
+---------+
| test |
| test\_% |
+---------+
2 rows in set (0.00 sec)

● 查询mysql多个字段

查询mysql两个字段的命令如下:

mysql> select db,user from mysql.db;
+---------+------+
| db | user |
+---------+------+
| test | |
| test\_% | |
+---------+------+
2 rows in set (0.00 sec)

● 插入一行

说明 创建了db1.tl表,t1表里面目前是没有数据的

mysql> desc db1.t1;
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(4) | YES | | NULL | |
| name | char(40) | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql> select * from db1.t1;
Empty set (0.00 sec)

现在在t1表插入一条数据,再查看t1表就有数据了

mysql> insert into db1.t1 values (1, 'abc');
Query OK, 1 row affected (0.02 sec)mysql> select * from db1.t1;
+------+------+
| id | name |
+------+------+
| 1 | abc |
| 1 | quan |
| 1 | dong |
+------+------+
3 rows in set (0.00 sec)

● 更改表的某一行

说明 Mysql表里存放的数据支持更改某个字段.

更改t1表的字段命令如下:

mysql> update db1.t1 set name='anna' where id=1;
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3 Changed: 3 Warnings: 0mysql> select * from db1.t1;
+------+------+
| id | name |
+------+------+
| 1 | anna |
| 1 | anna |
| 1 | anna |
+------+------+
3 rows in set (0.00 sec)

● 清空某个表的数据

说明 有时候我们只是想清空表的数据,但并不想删除表

清空t1表的数据命令如下:

mysql> truncate table db1.t1;
Query OK, 0 rows affected (0.08 sec)mysql> select * from db1.t1;
Empty set (0.00 sec)

● 删除表

说明 当某个表已经不需要了,就可以删除掉

删除表的命令如下:

mysql> drop table db1.t1;
Query OK, 0 rows affected (0.01 sec)

● 删除数据库

说明 能删除表,当然也能删除数据库

删除数据库的命令如下:

mysql> drop database db1;
Query OK, 0 rows affected (0.00 sec)
   MySQL数据库备份恢复

▲ mysqldump 是数据库备份的命令 (可以备份一个库,也可以备份一个表)

● 备份库

说明 /tmp/mysql.sql是mysql库备份文件.

备份mysql库的命令如下:

[root@root-02 ~]# mysqldump -uroot -p123456 mysql >/tmp/mysql.sql
Warning: Using a password on the command line interface can be insecure.

● 恢复我mysql库数据

[root@root-02 ~]# mysql -uroot -p123456 mysql Warning: Using a password on the command line interface can be insecure.

● 备份表

说明 备份表前面写库名 然后跟表名

备份表命令如下:

[root@root-02 ~]# mysqldump -uroot -p123456 mysql user >/tmp/user.sql;
Warning: Using a password on the command line interface can be insecure.

● 恢复表数据

说明 恢复表数据,不需要加表名,只需库名即可

恢复表数据命令如下:

[root@root-02 ~]# mysql -uroot -p123456 mysql Warning: Using a password on the command line interface can be insecure.

● 备份所有的库

说明 -A选项表示所有的意思

备份所有库的命令如下:

[root@root-02 ~]# mysqldump -uroot -p123456 -A > /tmp/mysql_all.sql
Warning: Using a password on the command line interface can be insecure.

●只备份表的结构

说明 假如我们有个需求,不需要表的数据,只需要创建表的语句. 加上-d选项

备份表结构命令如下:

[root@root-02 ~]# mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
Warning: Using a password on the command line interface can be insecure.

扩展 SQL语句教程 http://blog.51cto.com/zt/206

什么是事务?事务的特性有哪些? http://blog.csdn.net/yenange/article/details/7556094

根据binlog恢复指定时间段的数据 http://www.centoscn.com/mysql/2015/0204/4630.html

mysql字符集调整 http://xjsunjie.blog.51cto.com/999372/1355013

使用xtrabackup备份innodb引擎的数据库 http://www.aminglinux.com/bbs/thread-956-1-1.html

innobackupex 备份 Xtrabackup 增量备份 http://www.aminglinux.com/bbs/thread-1012-1-1.html


转:https://my.oschina.net/AnnaWu/blog/1545519



推荐阅读
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
author-avatar
啲眼泪17
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有