美文网首页MySQL
Mysql常用操作

Mysql常用操作

作者: 朱溪江 | 来源:发表于2019-04-18 17:03 被阅读53次
MySQL 赋予用户权限命令的简单格式可概括为:

grant 权限 on 数据库对象 to 用户

1.创建库test
mysql> create  database test;
2.创建用户user01对库test有所有权限
myslq> grant all on test.* to 'user01'@'%'  identified by 'password';  
3.查看user01的权限
mysql>show grants for user01;
4.叠加权限,给user01用户所有库所有表增删改查的权限,只是select就是只有查询权限
mysql> grant select,insert,update,delete on *.* to 'user01'@'%' identified by 'password';
5.撤销权限

首先查看该用户的权限,然后复制想要撤销的权限,将grant 改成revoke,将to 改为from 。

image.png
6.修改用户账号名
update user set user="Mintel1" where user="Mintel";
7.删除用户
drop user test;
8.修改用户密码

5.7版本之前:

update user set password=password("Mintel@123") where user='Mintel%';

5.7版本之后:

update mysql.user set authentication_string=password("Mintel@123") where user='Mintel%'

9.mysql备份

数据库作为一个系统中唯一或者主要的持久化组件,对服务的可用性和数据的可靠性要求极高。 作为能够有效应对因为系统软硬件故障、人工误操作导致数据丢失的预防手段,备份是目前最为常见的数据库运维操作。 考虑到备份操作对数据库可用性的影响, MySQL官方将备份方式划主要划分为以下三类:

热备:备份过程中,MySQL实例始终是运行的,所有用户的读写请求都不会受到影响。
冷备:备份前首先需要停止MySQL实例的运行,整个备份过程中,用户均无法访问数据库。
温备:备份过程中,虽然MySQL实例是运行的,但是为了保证数据的一致性,允许用户通过加锁的方式来防止可能的更新或者修改操作。备份过程中,数据是只读的,所有的写请求会被阻塞。

针对MySQL数据库,目前主流的备份软件主要有mysqldump和XtraBackup两种

1.mysqldump

mysqldump是MySQL自带的备份工具,通过create table、drop table和insert into 等SQL语句,将数据库中的数据导出成.sql文件。由于该文件是可读的,所以称之为逻辑备份。为了保证备份数据的一致性,mysqldump为用户提供了以下参数:
--add-locks 为了保证一张表的数据一致性,对该表执行lock table xxx read,无论是innodb表还是myisam表,插入、删除、更新、带X锁的读(select for update)和DDL(alter)请求均会被阻塞,不影响快照读和S锁读(select lock in share mode)请求。该参数不保证表之间的数据一致性,如果涉及到跨表的查询,备份不能保证表之间数据是一致的。

--lock-tables 锁定某一个数据库的所有的表,能够保证某一个库中的所有表的数据一致性,但是不保证库之间的数据一致,相当于在一个数据库的所有表上执行了--add-locks参数,此外该库的DDL语句均会给阻塞。

--lock-all-tables 锁定某个实例的所有表,可以保证所有库的数据一致性,相当于所有的库同时指定lock tables参数,此外,实例的所有DDL语句(create database)均会阻塞。除非指定--single-transaction选项,如果指定,则mysqldump仅在备份开始时,加一个flush tables with read lock的全局锁,防止所有的DDL和写操作,在开启事务后,释放该锁,备份过程中,如果是innodb表则不受影响。

--single-transaction 针对支持MVCC(多版本)事务的存储引擎,例如innodb,mysqldump提供了在导出数据之前,开启一个事务,由数据库保证单次导出数据的一致性,此时针对Innodb表的所有读写操作,均不会被阻塞。

--master-data 获取备份数据的Binlog位置和Binlog文件名,用于通过备份恢复的实例之间建立复制关系时使用,该参数会默认开启。

#!/bin/bash
if [ ! -d /root/back_db/ ];then
mkdir /root/back_db
fi
cd /logs/back_db/
mysqldump --opt -R -uroot -pquizii2016 --all-databases |gzip > /back_db/mysql-`date +%F`.sql.gz
scp /back_db/`date +%F`.sql.gz  124.207.22.14:/quizii_db/
/bin/rm -rf   mysql-`date -d 'yesterday' +%F`.sql.gz
ssh -t 124.207.22.14 '/bin/rm -rf /quizii_db/mysql-`date -d 'yesterday' +%F`.sql.gz '

XtraBackup

XtraBackup是Percona公司一款开源的数据库备份软件,相对于mysqldump,它是直接通过拷贝物理文件实现数据库备份的,所以速度相比要快很多。XtraBackup包含两部分:xtrabackup的c程序和innobackupex perl脚本;前者主要用于处理innodb表的备份;后者是前者的封装,主要包括一些与MySQL服务器的通信和mysiam表的备份。

相关文章

  • Go操作MySQL

    Go语言操作MySQL MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库。 Go操作...

  • MySQL安装

    运行以下命令安装MySQL: 启动和关闭mysql服务器: 进入mysql shell界面: MySQL常用操作 ...

  • Mysql常用操作笔记

    Mysql常用操作笔记 登录 mysql -u用户 -p密码 mysql -hIP地址 -u用户 -u密码 退出 ...

  • Go操作MySQL

    MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库。 Go操作MySQL 连接 Go语...

  • Mysql 常用操作

    数据库连接 数据库退出 创建数据库 删除数据库 选择表 数据类型 创建数据表 删除数据表 插入数据 查询数据 WH...

  • mysql常用操作

    1.where中字段包含条件 2.字符串截取

  • MySql常用操作

    1、查看数据库状态 及启动停止 /etc/init.d/mysqld status /etc/init.d/mys...

  • mysql 常用操作

    导出数据: 导入数据: 查看外键约束: 全部的表: 去除约束: 添加约束: 主键: 约束不能更改,只能先移除再创建...

  • Mysql常用操作

    1. 查看数据库:show databases; 2. 创建数据库:create database kuname;...

  • MYSQL常用操作

    此篇是为数据库小白入门而写的,介绍使用数据库的最基本也是最常用的一些操作。我也是在日常工作中东一点西一点学到的,难...

网友评论

    本文标题:Mysql常用操作

    本文链接:https://www.haomeiwen.com/subject/jautgqtx.html