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

本文详细介绍了MySQL的常用命令,包括显示数据库、切换库、查看表结构等,以及如何创建用户、设置权限。创建用户时,可以指定登录IP和权限级别。还讲解了如何更改用户密码和数据备份恢复的方法,如使用mysqldump进行数据库备份和恢复。此外,文章还涵盖了查看用户授权信息和更新授权IP的操作。
摘要由CSDN通过智能技术生成
21046ba778e747adfca1417e20ac67b9.png

文章目录1.MySQL常用命令2.MySQL创建用户以及用户授权3.常用MySQL语句4.MySQL密码设置与更改5.MySQL数据备份与恢复1.MySQL常用命令显示所有库:

show databases;

切换到mysql库:

use mysql;

显示mysql库中的表:

show tables;

查看tb_user表的字段:

desc tb_user;

查看建表语句:

show create table tb_userG

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

查看当前用户:

select user();

查看当前所在数据库:

select database();

查看mysql版本:

select version(); 

创建数据库:

create database db_1; 

创建表:

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

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

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

查看数据库状态:

show status; 

查看各参数配置:

show variables; 

查看指定参数:

show variables like 'slow%'; 

临时修改参数值:

set global max_connect_errors=200; 

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

查看mysql消息队列:

show processlist;show full processlist; 

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

2.MySQL创建用户以及用户授权1.创建用户test,密码test123:

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

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

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

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

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

mysql -uroot -pxxx -h127.0.0.1

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

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

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

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

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

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

show grants;

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

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

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)

一般用于增加授权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)

注意: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"

更改root用户密码:

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

登录数据库更改密码:

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

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

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

高版本mysql更改密码:

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

在不知道root用户密码的情况下修改密码的方法,在上一篇文章中有介绍:https://blog.csdn.net/Powerful_Fy/article/details/102689689

5.MySQL数据备份与恢复备份mysql库:

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

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

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

备份mysql库中的user表:

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

恢复备份的user表到mysql库:

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

备份所有库:

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

只备份mysql库的表结构:

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值