mysql update语句

mysql误删除数据后如何恢复

随声附和 提交于 2020-03-18 17:55:10
Mysql 误删除是我最头痛的一件事,网络也有很多惨痛的教训,为了减少企业损失,应迅速恢复业务数据,后续在人员操作行为上建立完善的制度及流程,将风险扼杀在摇篮才是上上策。 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,MyFlash简介 MyFlash的前身是binlong2,后续是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析V4版本的二进制日志,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 该工具已经在美团点评内部使用 二,MyFlash使用限制 二进制日志格式必须为【row】行级模式 ,且binlog_row_image =full 仅支持5.6与5.7 (如果是低版本的mysql 二种方案 1,升级mysql 2,使用binlog2) [binlog2sql工具的下载地址:] 只能回滚DML(增,删,改) 三,详细说明 3.1 安装部署 git clone https://github.com/Meituan-Dianping/MyFlash.git cd MyFlash/ [root@gitlab MyFlash]# yum install glib2* [root@gitlab MyFlash]# gcc -w

linux忘记mysql密码找回方法

余生颓废 提交于 2020-03-18 13:58:44
方法一:   # /etc/init.d/mysql stop   # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &   # mysql -u root mysql   mysql> update user set password=password('newpassword') where user='root';   mysql> flush privileges;   mysql> quit   # /etc/init.d/mysql restart   # mysql -uroot -p   enter password: <输入新设的密码newpassword>   mysql>   方法二:   直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:   # mysql -udebian-sys-maint -p   enter password: <输入[client]节的密码>   mysql> update user set password=password('newpassword') where user='root';   mysql> flush privileges;   mysql> quit   # mysql -uroot

Mysql 视图&事务&触发器

白昼怎懂夜的黑 提交于 2020-03-18 13:57:11
参考资料 一、视图 视图的含义: 视图是一个虚拟表,是从数据库中一个或者多个表中导出来的表。 1、创建视图 #语法:CREATE VIEW 视图名称 AS SQL语句 create view teacher_view as select tid from teacher where tname='李平老师'; #于是查询李平老师教授的课程名的sql可以改写为 mysql> select cname from course where teacher_id = (select tid from teacher_view); +--------+ | cname | +--------+ | 物理 | | 美术 | +--------+ rows in set (0.00 sec) #!!!注意注意注意: #1. 使用视图以后就无需每次都重写子查询的sql,但是这么效率并不高,还不如我们写子查询的效率高 #2. 而且有一个致命的问题:视图是存放到数据库里的,如果我们程序中的sql过分依赖于数据库中存放的视图, 那么意味着,一旦sql需要修改且涉及到视图的部分,则必须去数据库中进行修改,而通常在公司中数据库有专门的DBA负责, 你要想完成修改,必须付出大量的沟通成本DBA可能才会帮你完成修改,极其地不方便 2、查看视图 select * from course_view; create

mysql基础教程(四)-----事务、视图、存储过程和函数、流程控制

心不动则不痛 提交于 2020-03-18 13:54:59
事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的。 而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元将会回滚。所有受到影 响的数据将返回到事物开始以前的状态;如果单元中的所 有SQL语句均执行成功,则事物被顺利执行。 存储引擎 概念 在mysql中的数据用各种不同的技术存储 在文件(或内存)中。 查看 通过 show engines; 来查看mysql支持的存储引擎。 常见引擎 在mysql中用的最多的存储引擎有:innodb, myisam ,memory 等。其中innodb支持事务,而 myisam、memory等不支持事务。 事务特点 事务的ACID(acid)属性 1. 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么 都发生,要么都不发生。 2. 一致性(Consistency) 事务必须使数据库从一个一致性状态变换到另外一个一致性状态 。 3. 隔离性(Isolation) 事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个 事务内部的操作及使用的数据对并发的其他事务是隔离的,并发 执行的各个事务之间不能互相干扰。 4. 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的

浅谈mysql

安稳与你 提交于 2020-03-18 13:53:51
关于数据库其实我们可以简单的理解为存储货物的一个厂库,里面分别是按照一定的分类存放的物品,然后人们有时会从厂库中拿走或存储一些物品,有时也会更改或增加一些分类 这些物品都分门别类的存放在厂库中,方便人们的查询和存储。 MySQL是一个关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在互联网行业。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多互联网公司选择了MySQL作为后端数据库。2008年MySQL被Sun公司收购,2010年甲骨文成功收购Sun公司。 MySQL数据库的优点: 1、多语言支持:Mysql为C、C++、Python、Java、Perl、PHP、Ruby等多种编程语言提供了API,访问和使用方便。 2、可以移植性好:MySQL是跨平台的。 3、免费开源。 4、高效:MySql的核心程序采用完全的多线程编程。 5、支持大量数据查询和存储:Mysql可以承受大量的并发访问。 由于本人最先接触到的数据库是oracle,在此谈论mysql说的有些命令或知识可能是oracle 上的,mysql可能不适用,见谅 首先先介绍下mysql的常用命令: 显示所有数据库:show databases; •选定默认数据库:use dbname; •显示默认数据库中所有表:show tables; •放弃正在输入的命令:\c

MySQL 1045登录失败

非 Y 不嫁゛ 提交于 2020-03-18 13:24:32
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: [plain] view plain copy print ? ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可;使用这种方式MySQL服务必须为安装的服务,否则

MySQL 1045登录失败

爱⌒轻易说出口 提交于 2020-03-18 13:23:55
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: [plain] view plain copy print ? ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可;使用这种方式MySQL服务必须为安装的服务,否则

MySql 1045错误

不羁岁月 提交于 2020-03-18 13:23:09
   配置时以管理员身份运行MySQL Instance Configuration Wizard   当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1、 停止服务:停止MySQL服务; 2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查; 3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码; 4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。 Windows系统具体操作: 1、 停止服务: 方法1:使用dos命令 net stop mysql 即可

Mysql5.7修改root密码

ε祈祈猫儿з 提交于 2020-03-18 13:12:13
由于在 mysql5.7下的user表中已经没有Password字段了, 而是将加密后的用户密码存储于 authentication_string 字段。 第一步: 打开第一个cmd窗口,切换到mysql的bin目录,运行命令: mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables; 该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 第二步: 打开第二个cmd窗口,连接mysql: 输入命令: mysql -uroot -p 出现: Enter password: 在这里直接回车,不用输入密码。 第三步: use mysql; update mysql.user set authentication_string=password('mysql') where user='root' and Host = 'localhost'; 使用该语句更改root密码。 第四步: 刷新权限: FLUSH PRIVILEGES; 然后退出,重新登录: 完成修改。 来源: https://www.cnblogs.com/microsoftjava/p/6015140.html

linux下mysql的简单使用

点点圈 提交于 2020-03-18 12:51:08
写这篇的主要目的是记录一点mysql的基本使用方法,当然sql查询语句本来就有不少东西,这里就不一一介绍,这个网址有详细的教程(http://www.sdau.edu.cn/support/mysq_doc/manual_Tutorial.html) 1、登陆 mysql -h 主机名 -u 用户名 -p -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略; -u : 所要登录的用户名; -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项 登陆之后就可以在命令行西进行各种操作了,注意解围要加分号,否则他会认为你一句没输完。 2、创建数据库 create database 数据库名 [其他选项]; create database samp_db character set utf8; 3、选择要使用的数据库 use 数据库名 4、创建数据库表 这里开始就要有一些sql的知识了 create table 表名称(列声明); create table students ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned