13.4 mysql用户管理 13.5 经常使用sql语句 13.6 mysql数据库备份恢复

13.4 mysql用户管理

一个MySQL服务中能够跑多个库,不一样的用户能够给予不一样的受权,合理安全的使用MySQL。mysql

建立并受权用户

grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd';

grant all表明授予全部权限sql

*.*表明全部数据库的全部表数据库

to后是受权的用户安全

@后为容许登陆的来源IP,@后也能够写localhost,使用户直接经过本地sock登陆,还能够写%,表明容许全部IP访问MySQL架构

identified by 后是受权的用户的密码ide

mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by 'passwd';
Query OK, 0 rows affected (0.00 sec)

注:grant命令不会记录在命令历史文件中,由于命令自己是不安全的。spa

查看受权

show grants 能够查看当前用户的受权3d

注:查看受权时要指定相应用户以及用户的来源IP(用户在不一样的IP下的权限可能不一样)code

为用户根据IP受权

当用户在127.0.0.1上具备相关权限,现该用户须要在192.168.88.10上具备相同权限,则经过上述命令查看该用户受权后,将权限复制一遍,对应IP修改成新的IP地址便可blog

13.5 经常使用sql语句

sql查询能够跨库跨表查询,库与表用“.”隔开。

查询表的行数

select count(*) from mysql.user;  //查询mysql库的user表的全部行数

查询表的全部内容

select * from mysql.db;  //查询mysql库的db表

注:不建议使用select带*的语句,该类语句会耗费大量的时间和资源。

查询单一字段

select db from mysql.db; //查询mysql库的db表中的db字段

查询多个字段

select db,user from mysql.db;

模糊查询

select * from mysql.db where host like '192.168.%'; 
//在mysql库db表中查询来源IP为192.168.x.x网段的全部内容

插入数据

insert into db1.t1 values (1, '123'); //向db库的t1表中插入一条数据

注:插入的数据类型是字符串类型时,数据要加单引号。

修改数据

update db1.t1 set name='aaa' where id=1;  //将db1库的t1表中name字段中的数据改成aaa,针对id=1的行

删除数据

truncate table db1.t1;
drop table db1.t1;

truncate与drop命令的区别:前者只清除数据保留原有架构,后者可连同表一并删除。

删除数据库

drop database 数据库名称;

13.6 mysql数据库备份恢复

备份数据库

mysqldump -uroot -p123456 mysql > /tmp/mysql.sql //将mysql库中内容备份至mysql.sql文件中

恢复数据库

mysql -uroot -p123456 mysql < /tmp/mysql.sql

备份表

mysqldump -uroot -p123456 mysql user > /tmp/user.sql

先写对应的数据库,再写须要备份的表

恢复表

恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql

恢复时前面只写对应的数据库,不用再写表名

备份全部的库

mysqldump -uroot -p123456 -A >/tmp/123.sql

只备份表结构

mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

注:mysqldump命令针对规模较小的数据库进行操做。

相关文章
相关标签/搜索