2018.3.23 13周5次课

十三周五次课(3月23日)

13.4 mysql用户管理

13.5 常用sql语句

13.6 mysql数据库备份恢复

13.4 mysql用户管理

MySQL创建用户以及授权

  • 授权给ip

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

all表示所有的权限(如读、写、查询、删除等操作);on:后面跟的数据库名;有2个*,前者表示所有的数据库,后者表示所有的表;to:授权给后面的用户;user1:用户名;@'127.0.0.1':来源ip,如果是本机的话可以不用写,@后面可以写%,表示通配,所有的ip;identified by后面跟密码,用单引号括起来。

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

测试user1能否登陆:

退出mysql

mysql -uuser1 -p123456a

报错无法登陆,这是因为登陆方式是采用默认的sock方式,前面创建用户时我们授权的对象是127.0.0.1,所以这里需要-h指定ip的登陆方式

mysql -uuser1 -p123456a -h127.0.0.1

  • 授权给localhost:

登陆mysql:mysql -uroot -paminglinux

mysql -uroot –paminglinux

如果命令打错了用分号退出

grant all on *.* to 'user1'@'localhost' identified by '123456a'; //等同grant all on *.* to 'user1' identified by '123456a';

退出mysql,再次登陆

可以对具体的权限授权:

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.37.1' identified by 'passwd';

针对所有的ip授权:

grant all on db1.* to 'user3'@'%' identified by 'passwd';

查看所有的授权:

show grants; //看的是root用户

查看指定用户的授权:

show grants for [email protected]'127.0.0.1';

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.37.1' identified by 'passwd';

  • 同一用户要登陆到另一IP地址,用户授权相同该如何操作:

方法:把授权的命令在另一IP(192.168.37.10)地址上全部执行一遍

根据上图user2的授权命令,修改下ip执行,有几条就执行几条

GRANT USAGE ON *.* TO 'user2'@'192.168.37.10' IDENTIFIED BY PASSWORD '*59C70DA2F3E3A5BDFF46B68F5C8B8F25762BCCEF0';

GRANT SELECT, INSERT, UPDATE ON `db1`.* TO 'user2'@'192.168.37.10';

show grants for [email protected]'192.168.37.10';

13.5 常用sql语句

  • 查询语句:可以在一个库中查询另一个库的数据,尽量不要进行查询包含*的操作

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

select * from mysql.db\G; //查看mysql库中db表的全部数据

关于数据库引擎目前常用的有2种:myisam和innodb

查看mysql库的引擎,默认所有的表都用myisam引擎,myisam会自动统计行数

use mysql;

show create table user\G;

查看db1库引擎,默认是innodb,不会自动统计行数

use db1;

show create table t1\G;

select db from mysql.db; //查询db字段

select db,user from mysql.db; //查询多个字段

select * from mysql.db where host like '192.168.%'\G; //模糊查询,用like

  • 插入语句:

desc db1.t1; //t1表为空

insert into db1.t1 values (1, 'abc'); //t1表插入数据,第二个字段数据类型是字符串,所以abc要加上单引号

  • 更改语句:

update db1.t1 set name='aaa' where id=1;

  • 删除字段数据:

delete from db1.t1 where id=1;

  • 清空表的数据:

truncate table db1.t1; //清空表的内容,表的结构还在;drop是数据和结构都删除

  • 删除表:

drop table t1;

  • 删除数据库:

drop database db1;

13.6 mysql数据库备份恢复

mysqldump命令

备份库:

mysqldump -uroot -paminglinux mysql > /tmp/mysqlbak.sql    //-u和-p两个选项的使用方法和前面介绍的一样;后面的mysql指的是库名,然后重定向到一个文本文档里。备份做完后可以查看/tmp/mysqlba这个

文件里的内容

恢复库:

mysql -uroot -paminglinux -e "create database mysql2"        //建立一个新库

mysql -uroot -paminglinux mysql2 < /tmp/mysqlbak.sql     //恢复到mysql2库

mysql -uroot -paminglinux mysql2    //进入mysql2数据库

select database();    //查询当前数据库是mysql2

show tables;     //和mysql库一样

备份表 :在库名后加上表的名字就可以了

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

恢复表:只要写库名就可以了

mysql -uroot -paminglinux mysql < /tmp/user.sql

less /tmp/user.sql   //查看备份表user.sql

备份所有库:用-A选项

mysqldump -uroot -paminglinux -A >/tmp/mysql_all.sql

只备份表结构:用-d选项,后面指定数据库名

mysqldump -uroot -paminglinux -d mysql2 > /tmp/mysql2.sql

原文地址:http://blog.51cto.com/415326/2090388

时间: 2024-08-30 07:27:57

2018.3.23 13周5次课的相关文章

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.23 7周2次课

七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包 10.6 监控io性能 1. iostat来对linux硬盘IO性能进行检测 使用iostat,需要先安装sysstat ,即yum -y install sysstat iostat可以产生三种类型的报告:CPU利用情况报告.设备利用情况报告.网络文件系统利用情况报告. iostat命令格式可概述为: iostat[参数][时间][次数] 其中,时

2018.3.19 13周1次课

十三周一次课(3月19日) 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool 和LAMP不同的是,在LNMP架构中,php-fpm作为独立的一个服务存在.既然是独立服务,那么它必然于自己的配置文件.Php-fpm的配置文件是/usr/local/php/etc/php-fpm.conf,它同样也支持include语句.类似于nginx.conf里面的inclu

2018.3.22 13周4次课

十三周四次课(3月22日) 13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令 13.1 设置更改root密码 root用户的mysql的超级管理员用户,跟linux的root用户类似.但需要区分,这个root用户和系统的root用户不是一个用户,需要注意.也可以创建一个普通用户来连接mysql 首次进入mysql数据库是不用密码的.默认mysql数据库的root用户密码为空,连接时不需要密码 设置密码: 启动mysql:service mysqld star

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.3.23一周第五次课

1.1 系统目录结构 Linux各目录及每个目录的详细介绍: 参考 :https://blog.csdn.net/u013239236/article/details/48845251 如何看一个命令依赖哪个库,例: ldd /bin/ls "家"目录概念:Linux系统里的"家目录"(即用户目录)是存放个人数据.除了"root"(超级管理员)其他用户的设置文件,桌面文件以及个人数据都是存放在各自的用户目录下面.(普通用户模式下的路径,非超级管理

2018.1.12 5周5次课

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 (如*) 还原为普通字符 | 管道符 这个字符前面曾多次出现过,它的作用是将前面