Linux学习总结(四十六)mysql 基本操作 下篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习总结(四十六)mysql 基本操作 下篇相关的知识,希望对你有一定的参考价值。

1 mysql 用户管理

对于互联网企业,我们知道数据是不可再生的资源,重要数据一旦丢失,将损失惨重。数据库的安全至关重要,因此对于后台管理员的权限要严格控制,要有针对性的创建用户,在满足管理需求的基础上,要最小化其操作权限。因此我们针对不同用户,会有选择性的针对某个库或者表单独授权,最大程度降低数据丢失的风险,防患于未然。
1)最大授权
grant all on *.* to ‘user1‘@‘127.0.0.1‘ idtentified by ‘passwd‘;
all 表示所有的操作,增删改查都可以
两个*, 前者代表所有的数据库,后者表示所有的表
user1 指用户名
127.0.0.1 为本机ip ,可以是网络上其他主机的ip,意思是客户端的来源ip
identified by 后面跟密码。需要加单引号。
2)仅针对某些操作授权
grant SELECT,UPDATE,INSERT on db1.* to ‘user2‘@‘192.168.226.129‘ identified by ‘passwd‘;
3)针对所有的源ip授权
grant all on db1.* to ‘user3‘@‘%‘ identified by ‘passwd‘;
4)查看某个授权
show grants for [email protected];
举例:
grant SELECT,UPDATE,INSERT on db1.* to ‘user2‘@‘192.168.226.129‘ identified by ‘lvlinux‘;
如果要在给上面授权用户增加一个访问ip 怎么做,当然可以根据上面命令,直接修改ip,如果忘记了之前的授权项,我们可以直接查找出来,复制之前的命令结果,更改ip重新执行就可以。
show grants for [email protected];
技术分享图片
GRANT USAGE ON *.* TO ‘user2‘@‘192.168.226.130‘ IDENTIFIED BY PASSWORD ‘*E8F4006805F5210EB4D651BD6F9CB6100ACD1BFF‘;
GRANT SELECT, INSERT, UPDATE ON `db1`.* TO ‘user2‘@‘192.168.226.130‘;
技术分享图片
show grants for [email protected];
技术分享图片

2 常用sql语句,增删改查。

 select count(*) from mysql.user;  //统计mysql库中user表的行数
 select * from mysql.db\G;  //  查看表db表里的所有内容,慎用。
 select db from mysql.db; // 查看db表里的db字段
 select db,user from mysql.db; // 同时查看两个字段
 select * from mysql.db where host like ‘192.168.%‘\G; //模糊匹配查询
 insert into db1.t1 values (1, ‘abc‘);  // 在表里插入一条数据
 update db1.t1 set name=‘aaa‘ where id=1; //更新一条数据
 delete from db1.t1 where id=2;   //删除某一条数据
 truncate table db1.t1; // 清空一个表,保留表结构。
 drop table db1.t1;  //删除整个表
 drop database db1; // 删除库

3 数据库的备份与恢复

 备份库  mysqldump -uroot -p123456 mysql > /tmp/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 -p -A >/tmp/123.sql
 只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

注意:备份用的是mysqldump,恢复用的是mysql,备份表要写库名和表名,恢复表不用写表名。备份所有库,是-A ,备份表结构是-d

以上是关于Linux学习总结(四十六)mysql 基本操作 下篇的主要内容,如果未能解决你的问题,请参考以下文章

javaweb学习总结(四十六)——Filter(过滤器)常见应用

Linux学习总结(四十七)NFS服务配置 下篇

python第四十六天 数据库总结

Linux学习总结(四十七)NFS服务配置 上篇

Linux学习总结(四十四)lnmp之php-fpm相关配置

Zabbix学习笔记(四十六)