mysql update语句

史上最实用mysql参数之一-----sql_safe_updates

落花浮王杯 提交于 2019-12-10 20:06:28
mysql数据库是可以开启安全模式,不过默认情况下,安全模式不开启的,下面就来说说什么是mysql的安全模式 不知道小伙伴们是否有过维护的数据库表业务数据被人或者因为程序bug导致全表更新,全表删除的痛苦经历,恢复业务数据真的是一个精细活,尤其与交易和钱相关的数据,必须恢复成和原来一模一样,那能不能在数据库层面架起最后一道安全堡垒,拒绝全表更新,全表删除的非法操作呢,答案是有的,在mysql中sql_safe_updates可以完美解决这个问题,下面就来给大家演示一下实际效果 sql_safe_updates默认是不开启的 mysql > show variables like 'sql_safe_updates' ; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | sql_safe_updates | OFF | +------------------+-------+ 1 row in set ( 0.01 sec ) 现在就开启这个参数,如果要永久生效,需要将参数添加到数据库配置文件(my.cnf)中 mysql > set global sql_safe_updates = 1 ; Query OK, 0 rows affected ( 0.00

mysql数据库

一曲冷凌霜 提交于 2019-12-10 19:34:59
Mysql数据库 一、数据库概述 1.什么是数据? 1)描述事物的编号称为数据,描述的数据可以是符号也可以是数字,也可以是文字图片声音,语言等,数据由多种表现格式,他们都可以数字化后存入计算机。 2.什么是数据库 1)数据库顾名思义就是存放数据的放库。只不过这个仓库在计算机存储设备上,而且数据是按照一定格式存放的,过去人们将数据存放在文件柜里,而大量的数据无法继续存放于是有了数据库。 2)数据库就是长期存放在计算机内,有组织可共享的数据。 3)数据库中的数据按照一定的数据模型组织,描述和存储,具备有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。 3. 什么是数据库管理系统 1)能够科学的组织和存储数据,并高效获取和维护数据的一个系统软件就是数据管理系统 4.数据库服务器,数据管理系统,数据库,表与记录的关系 1)数据库服务器:运行数据库管理软件 2)数据库管理软件:管理+数据库 3)数据库:即文件夹用来组织文件/表 4)表:即文件,用来存放多行内容/多条记录 1.人工管理阶段: 特点: 1)数据不保存。 2)应用程序管理数据。 3)数据不共享。 4)数据=不具有独立性。 .文件管理阶段: 特点: 1)数据长期保存。 2)数据独立性差。 3)数据可长期保存。 4)由文件系统管理数据。 数据系统管理阶段: 特点: 1)数据结构化。 2)数据共享,冗余度低,易扩充。 3

数据库的基本操作

孤者浪人 提交于 2019-12-10 18:25:52
使用数据库 新建一个cmd,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 3306 -p密码 mysql初始化无密码,可以进入游客模式,功能会很少 无密码直接进入 --->不需要"-p密码" bin目录下的:mysql.exe 全写:mysql -h 127.0.0.2 -P 3306 -p 密码 简写:mysql -uroot -p 密码 退出数据库的客户端 exit; quit; 注意:SQL语句末尾必须加";"号。 查看操作系统中是否已经启动mysqld服务端 tasklist | findstr "mysqld" 杀死mysqld进程 taskkill /F /PID pid号 ***做服务端操作时,必须先从管理员身份打开 数据库的命令 查看所有数据库: show databases; mysql -u 登录mysql用户名(root) -p 密码 默认自带 root 超级用户,没有密码 管理员登录 mysql -uroot 回车进入 游客登录 mysql 回车 修改密码 - 默认没有密码的情况下,设置密码 - cmd>>>: mysqladmin -uroot password 123 - 有密码的情况下,修改密码 - cmd>>>: mysqladmin -uroot -p原密码 password修改的密码 - cmd>>>:

MyCat:取代Cobar数据库中间件

£可爱£侵袭症+ 提交于 2019-12-10 15:46:40
Cobar 是阿里巴巴开源的一个数据库中间件,为了解决类似proxy这类的问题。目前同类型的有奇虎360开源的Atlas。类似的有基本在线上用起来很不爽,问题多多的比如MySQL Proxy和SQL Relay,基本可以忽略。 Cobar 下载: https://github.com/alibaba/cobar Atlas 下载: https://github.com/Qihoo360/Atlas =============================================================== MyCat:取代Cobar数据库中间件 什么是MyCAT?简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库 ? 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 ? 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server ? 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 ? 一个新颖的数据库中间件产品。 目标 低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。 关键特性 支持 SQL 92标准 支持Mysql集群,可以作为Proxy使用

MySql------基础知识1

血红的双手。 提交于 2019-12-10 05:57:10
MySql------基础知识1 一。 SQL 的 select 语句完整的执行顺序 1.from字句组装来自不同数据源 2.where 字句基于指定 3.group by 划分多个分组 4.使用聚集函数进行计算 5、使用 having 子句筛选分组; 6、计算所有的表达式; 7、select 的字段; 8、使用 order by 对结果集进行排序。 二。Sql聚合函数: 几何函数就是对一组值进行计算并且返回 单一的值的函数,经常与select语句中的group by 字句一同使用 a.ava()平均值,空值被忽略 b.count()返回是的是指定组中的项目个数 c.max ()和min()分别是返回最大值和最小值 e.sum()返回指定数据的和,只能是数字列 f. group by():对数据进行分组,对执行完 group by 之后的组进行聚合函数的运算,计算每一组的值。 最后用having去掉不符合条件的组,having子句中的每一个元素必须出现在select列表中(只针对于mysql) 三。SQL之连接查询(左连接和右链接) 外连接:左连接():以左表作为基准进行查询,左表数据会全部显示出来,如果不匹配则显示为 null; 右连接():以右表作为基准进行查询,右表数据会全部显示出来,如果不匹配则显示为 null; 全连接():先以左表进行左外连接,再以右表进行右外连接

linux安装mysql

倖福魔咒の 提交于 2019-12-10 03:51:33
centos安装mysql 一、下载地址 1、 https://dev.mysql.com/downloads/repo/yum/ 2、截图如下: 3、MySQL8.0: https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm 4、MySQL5.7.22: http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 二、操作步骤 1、下载 rpm包。 CentOS 7以上,下载 Linux 7;CentOS 7以下,下载 Linux 6。 2、 安装软件源: 使用以下命令安装下载的发行包,替换 platform-and-version-specific-package-name 为下载的包的名称: sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm 3、安装 MySQL服务端: yum install -y mysql-community-server 4、启动 MySQL : service mysqld start 5、检查 MySQL运行状态: service mysqld status 6、修改临时密码 获取临时密码: 装的是RPM包,则默认是 /var/log

Mysql、ES 数据同步

混江龙づ霸主 提交于 2019-12-10 00:49:14
数据同步中间件 不足:不支持 ES6.X 以上、Mysql 8.X 以上 ime 标识最大时间 logstash全量、增量同步解决方案 https://www.elastic.co/cn/downloads/logstash jar 包下载地址 https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.31 驱动包的配置 将驱动程序Jar文件复制到<logstash_install_dir>/logstash-core/lib/jars/目录。 然后在配置文件中,然后在mysql.conf里的就不需要在设置jdbc驱动包的配置了 mysql.conf input{ jdbc{ # 要使用的驱动包类 jdbc_driver_class => "com.mysql.jdbc.Driver" # mysql数据库的连接信息 jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/blog" # mysql用户 jdbc_user => "root" # mysql密码 jdbc_password => "root" # 定时任务,多久执行一次查询,默认一分钟,如果想要没有延迟,可以使用 schedule => "* * * * * *" schedule =>

MySQL数据库连接

橙三吉。 提交于 2019-12-09 23:53:44
一、mysql数据库安装 之前我以为IDEA中连接数据库的时候它会自行安装mysql数据库,实际上不是这样的!!!它仅仅是跟你电脑上现有的数据库创建连接而已,所以在使用IDEA连接数据库之前,你要先安装mysql数据库。 MySQL按照教程可以参考下面的链接视频: https://top1-video-public.cdn.bcebos.com/cd6f31ff79622d4eb09609100a4b9960f26832b6.mp4 去数据库的官网 http://www.mysql.com 下载MySQL。 二、启动数据库 启动数据库!!!没有启动数据库就去尝试连接的话肯定连接不上。 三、链接数据库 package com.imooc.db; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; //import com.mysql.jdbc.Connection; import java.sql.Connection;; public class DBUtil { private static final String URL ="jdbc:mysql://localhost:3306/imooc"; private static final String USER

Mysql 常用sql语句

 ̄綄美尐妖づ 提交于 2019-12-09 22:43:54
数据库在工作和面试中都会经常用到,因此需要重点学习。 1、查询时间: select date_format (create_time, '%Y-%m-%d') as day from table_name; 2、int 时间戳类型: select from_unixtime (create_time, '%Y-%m-%d') as day from table_name; 3、替换某字段内容的语句:update table_name set content = REPLACE(content, 'aaa', 'bbb') ; 4、获取表中某字段包含某字符的数据:SELECT * FROM `表名` WHERE LOCATE('关键字', 字段名) 5、获取字段中的前4位: SELECT SUBSTRING(字段名,1,4) FROM 表名 ; 6、查找表中多余的重复记录: select 字段名 from 表名 group by 字段名 having count(字段名) > 1 ; 7、插入数据:INSERT INTO tb_name(id,name,score)VALUES(NULL,'张三',140),(NULL,'张四',178),(NULL,'张五',134); 8、更改表结构: ALTER TABLE tb_name ADD COLUMN address varchar

MYSQL8.0以上版本正确修改ROOT密码

旧城冷巷雨未停 提交于 2019-12-09 15:50:27
MYSQL8.0以上版本正确修改ROOT密码 安装版本red hat Cent 7.0 MYSQL 版本 8.0.2.0 成功部署完毕后出现故障情况: 1. 正常启动MYSQL服务后,敲Linux中root账户和密码进入不去。 2. 从/etc/my.cnf 配置文件中加入skip-grant-table后正常登陆,但是不能创建用户等多操作 总结来说: 想进去mysql后不能操作多指令,操作多指令又不能进去mysql,死循环 挖坑环节: 网上找了很多办法,首先加入skip-grant-table.后进去刷新权限表,重启服务,不用密码的root进去,在改root密码后,重新刷新权限表。方法试了很多个都不对。修改root环节始终不对。 文章https://www.cnblogs.com/jjg0519/p/9034713.html 给了我提醒,是不是mysql8.0以上的版本密码策略和更改语法不对了。 重新操作一遍: #vim /etc/my.cnf 【mysql】 添加skip-grant-table #systemctl stop mysqld.service #systemctl start mysqld.service #mysql –u root [敲回车进入] mysql> flush privileges; Query OK, 0 rows affected (0.00