MySQL常用命令/用户管理/数据库备份与恢复

1.MySQL常用命令

显示所有库:

show databases;

1

切换到mysql库:

use mysql;

1

显示mysql库中的表:

show tables;

1

查看tb_user表的字段:

desc tb_user;

1

查看建表语句:

show create table tb_user\G

1

#\G:有序的显示(不加\G输出的内容排版混乱,使用\G后sql语句可以不加分号)

查看当前用户:

select user();

1

查看当前所在数据库:

select database();

1

查看mysql版本:

select version();

1

创建数据库:

create database db_1;

1

创建表:

create table tb_1(`id`int(4),`name`char(40));

1

创建表的同时指定引擎、字符编码:

create table tb_1(`id`int(4),`name`char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1

查看数据库状态:

show status;

1

查看各参数配置:

show variables;

1

查看指定参数:

show variables like 'slow%';

1

临时修改参数值:

set global max_connect_errors=200;

1

#mysql重启后失效,需要永久修改编辑/etc/my.cnf配置文件

查看mysql消息队列:

show processlist;

show full processlist;

1

2

#使用full可以将查询结果info字段中正在执行的sql语句显示完整

2.MySQL创建用户以及用户授权

1.创建用户test,密码test123:

grant all on *.* to 'test'@'localhost' identified by 'test123';

1

*.*表示:库.表,也就是授权所有库的所有表,只授权db1库的所有表:db1.*

localhost表示授权只能从本机通过socket文件登录,常用登录方式:mysql -uroot -p就是通过socket文件mysql.sock登录,命令写全为:

mysql -uroot -pxxx -S/tmp/mysql.sock

1

如果授权从127.0.0.1登录,那么登录时需要加上-h参数指定host:

mysql -uroot -pxxx -h127.0.0.1

1

授权所以地址登录使用百分号%即可:‘test’@’%’

2.创建用户test2,密码test123:

grant SELECT,UPDATE,INSERT on mysql.* to 'test2'@'192.168.234.128' identified by 'test123';

1

授权用户test2只能从192.168.234.128登录,并且只有mysql库所有表的查询、更改、新增权限

mysql授权用户的登录IP为整个网段:‘test2’@'192.168.234.%'

3.查询mysql用户授权内容:

show grants;

1

#默认查询当前用户的授权信息

查询指定用户的授权信息:

MariaDB [(none)]> show grants for test2@'192.168.234.128';

+--------------------------------------------------------------------------------------------------------------------+

| Grants for test2@192.168.234.128                                                                                  |

+--------------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'test2'@'192.168.234.128' IDENTIFIED BY PASSWORD '*676243218923905CF94CB52A3C9D3EB30CE8E20D' |

| GRANT SELECT, INSERT, UPDATE ON `mysql`.* TO 'test2'@'192.168.234.128'                                            |

+--------------------------------------------------------------------------------------------------------------------+

2 rows in set (0.000 sec)

1

2

3

4

5

6

7

8

一般用于增加授权IP,当前test2用户授权地址为192.168.234.128,如果需要给test2用户添加一个授权地址192.168.234.130,直接复制表格中的两句内容执行即可:

MariaDB [(none)]>  GRANT USAGE ON *.* TO 'test2'@'192.168.234.130' IDENTIFIED BY PASSWORD '*676243218923905CF94CB52A3C9D3EB30CE8E20D';

Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE ON `mysql`.* TO 'test2'@'192.168.234.130';

Query OK, 0 rows affected (0.000 sec)

1

2

3

4

5

注意:mysql执行创建用户或密码变更操作后需要执行:flush privileges 刷新系统权限相关的表才能生效,或者重启mysql服务使其生效

3.常用MySQL语句

查询:select * from table;

统计行数:select(*) from table;

更改数据:update table set tb_xxx=xxx;

删除数据:delete from table where tb_xxx=xxx;

清空表数据:truncate table_name;(保留表结构)

删除表:drop table table_name;

删除库:drop database db_name;

4.MySQL密码设置与更改

设置root用户密码:

[root@linux ~]# mysqladmin -uroot password "123456"

1

更改root用户密码:

[root@linux ~]# mysqladmin -uroot -p'123456' password '654321'

1

登录数据库更改密码:

MariaDB [(none)]> use mysql;

MariaDB [mysql]> update user set password=password('123456') where user='root';

1

2

#password():mysql加密函数,使密码在表中不以明文显示

注意:在当前较高的mysql版本中,root密码已经不存放在user表的password字段,而是存放在authentication_string字段

高版本mysql更改密码:

MariaDB [mysql]> update user set authentication=password('123456') where user='root';

1

在不知道root用户密码的情况下修改密码的方法,在上一篇文章中有介绍:

https://blog.csdn.net/Powerful_Fy/article/details/102689689

5.MySQL数据备份与恢复

备份mysql库:

[root@linux ~]# mysqldump -uroot -p123456 mysql > /tmp/mysql_bak.sql

1

恢复备份的mysql库到mysql2数据库:

[root@linux ~]# mysql -uroot -p123456 mysql2 < /tmp/mysql_bak.sql

1

备份mysql库中的user表:

[root@linux ~]# mysqldump -uroot -p123456 mysql user > /tmp/mysql_tbuser.sql

1

恢复备份的user表到mysql库:

[root@linux ~]# mysql -uroot -p123456 mysql < /tmp/mysql_tbuser.sql

1

备份所有库:

[root@linux ~]# mysqldump -uroot -p123456  -A > /tmp/mysql_all.sql

1

只备份mysql库的表结构:

[root@linux ~]# mysqldump -uroot -p123456 -d mysql > /tmp/mysql_tb.sql

1

只备份mysql库user表的表结构:

[root@linux ~]# mysqldump -uroot -p123456 -d mysql user > /tmp/mysql_user.sql

1

补充:mysqldump方法备份适用于数据量不大的数据库,数据量几百G,甚至多少T的数据量备份起来会非常的慢

————————————————

版权声明:本文为CSDN博主「Asn_Fy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Powerful_Fy/article/details/102731396

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,009评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,808评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,891评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,283评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,285评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,409评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,809评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,487评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,680评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,499评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,548评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,268评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,815评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,872评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,102评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,683评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,253评论 2 341

推荐阅读更多精彩内容