MYSQL - 技术教程文章

Windows忘记mysql密码的解决方案

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:1. KILL掉系统里的MySQL进程,方法如下:a、点击桌面工具栏打开任务栏管理器。b、从任务管理器的进程中找到mysqld-nt.exe进程,点击右键选择结束进程。2. 在命令行中输入命令 mysqld-nt --skip-grant-tables 启动MySQL,以不检查权限的方式启动;3. 然后另外开一窗口,用空密码方式使用root用户登录 MySQL;4. 修改root用户的密码;mysql> update mysql.user set password...

mysql性能检查脚本-部分

#!/bin/sh#ocpyang@126.comexport black=‘\033[0m‘ export boldblack=‘\033[1;0m‘ export red=‘\033[31m‘ export boldred=‘\033[1;31m‘ export green=‘\033[32m‘ export boldgreen=‘\033[1;32m‘ export yellow=‘\033[33m‘ export boldyellow=‘\033[1;33m‘ export blue=‘\033[34m‘ export boldblue=‘\033[1;34m‘ export magenta=‘\033[35m‘ export boldmagenta=‘\033[1;35m‘ export cyan=‘\033[36m‘ expo...

mysql九大类常用函数

一、数学函数ABS(x)    返回x的绝对值BIN(x)    返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x)  返回大于x的最小整数值EXP(x)    返回值e(自然对数的底)的x次方FLOOR(x)    返回小于x的最大整数值GREATEST(x1,x2,...,xn)    返回集合中最大的值LEAST(x1,x2,...,xn)    返回集合中最小的值LN(x)           返回x的自然对数LOG(x,y)         返回x的以y为底的对数MOD(x,y)  ...

mysql中delete和truncate区别

delete和truncate区别如下:一、灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据;delete from table_test where ... truncate table table_test 二、效率:delete效率低于truncate,delete是一行一行地删除,truncate会重建表结构,三、事务:truncate是DDL语句,需要drop权限,因此会隐式提交,不能够rollback;delete是DML语句,可以使用rollback回滚。四、触发器:truncate 不能触发任何Delete触发器;而dele...

今天在昨天基础上进入mysql又出错【代码】

今天早上开机进入mysql就出问题了# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) # mysql mysql> use mysql #不能用mysql ERROR 1044 (42000): Access denied for user ‘root‘@‘%‘ to database ‘mysql‘ mysql> use test #能用test Database changed mysql> SELECT user,host,password FROM user; ERROR 1044 (4200...

mysql的卸载【代码】【图】

mysql的卸载注意:mysql安装有问题的,才做此步骤如果以后我们不需要mysql了,或者mysql安装失败了需要重新安装,那么我们需要将mysql卸载掉使用root用户1 停止mysql服务[root@node03 hadoop]# systemctl stop mysqld.service 2 列出已安装的mysql相关的包有两种方式,都可以,任选其一方式一[root@node03 hadoop]# yum list installed mysql* ? 方式二[root@node03 hadoop]# rpm -qa | grep -i mysql 3 卸载mysql包卸载rpm包,使...

使用LVM备份MySQL

http://www.percona.com/blog/2006/08/21/using-lvm-for-mysql-backup-and-replication-setup/http://blog.csdn.net/dengyue701/article/details/7190691http://www.lenzg.net/mylvmbackup/#Docshttp://www.percona.com/blog/2013/07/09/lvm-read-performance-during-snapshots/http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.htmlhttp://www.percona.com/blog/2012/02/23/faster-point-in-time-recovery-with-lvm2-s...

如何删除MySQL表中的前10万条数据

给出以下几种方案:方案一:delete from t limit 100000; 直接删除方案二:delete from t limit 1000; 在for循环中执行100次方案三:在100个连接中同时执行 delete from t limit 1000;前面有说到,要尽量避免长连接,方案一事务较长,占用锁时间长,可能会导致其他客户端连接等待资源时间过长,甚至还有可能导致主从延迟。方案二,串行化执行,把长事务划分成短事务,每次事务占用锁的时间会较短,其他连接等待时间也会相应缩短。将...

解决mysql Access denied for user root@localhost错误

1.配置my.ini文件  在文件中加入:skip-grant-tables,此时不用密码登录2.关闭后重启服务  net stop mysql;  net start mysql;3.登录MySQL服务修改密码  MySQL -u 用户名 -p;4.修改密码  update mysql.user set authentication_string=PASSWORD(‘你的新密码‘) where USER=‘用户名‘;5.刷新权限表  flush privileges6.删除配置文件内容  skip-grant-tables7.关闭后重启服务  net stop mysql;  net start mysq...

Mysql查询优化从入门到跑路(三)查询的基本操作

查询的基本操作1.选择操作对应的是限制条件,操作对象是二维表的行。 优化方式:选择操作下推 目的:尽量减少连接操作前的元租数,使得中间临时关系尽量少(元祖数少,连接得到的元组数就少) 好处:这样可能减少IO和CPU的消耗、节约内存空间2.投影操作对用的SELECT查询的目的列对象 优化方式:投影操作下推 目的:尽量减少连接操作前的列数,使得中间临时关系尽量小(选择操作是使元组的个数尽量少,投影操作是使一...

解决mysql时区问题以及SSL问题【代码】

看了下网上的教程,觉得都太麻烦啦,这里推荐个简单的!解决时区问题  只需要加上serverTimezone=UTC即可,如下:spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wallet?serverTimezone=UTC&characterEncoding=utf-8解决SSL问题  这个也挺简单的,只需要关闭SSL即可,只需要加上useSSL=false即可,如下:spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wallet?characterEncoding=utf-8&useSSL=false总体解决可以使用下方代码:...

Mysql 表约束(基础6)【图】

准备基础环境:mysql> create database mydb2; #创建一个名为 mydb2的数据库Query OK, 1 row affected (0.00 sec)mysql> show databases; #查看创建的数据库, mydb2已经创建成功。+--------------------+| Database |+--------------------+| information_schema || mydb2 || mysql || performance_schema || sys |+--...

MySQL in 和 like 使用#{} 进行参数引入出错

1.使用 in #{list} 是报错的 所以 使用 <if test="entity.deptIds!=null and entity.deptIds.size >0 "> and dept_id in <foreach collection="entity.deptIds" item="deptId" close=")" open="(" separator=","> #{deptId} </foreach> </if>不能使用$ 防止sql注入2.like #{} 也是不行的所以采用字符串拼接的方式进行 变量的引入meter_type_message like concat(‘%‘,#{entity.meterTypeMessage},‘%‘)原文...

mysql数据库相关基础知识01【代码】

数据库的简介1.什么是数据库:数据仓库。访问必须只能用SQL语句来访问。数据库也是一个文件的系统。 2.数据库的作用:存储数据的作用。开发任何的应用,都有数据库。 3.关系型的数据库:数据库中保存的都是实体与实体之间的关系。 4.常见的数据库* Java开发,必用的两个数据库Oracle和MySQL* Oracle数据库(甲骨文) 大型的数据库,收费的。* MySQL数据库 小型的数据库,免费开源的。被Oracle收购了(在6.x版本下开始收费了)*...

如何查看已经编译安装好的nginx、apache、php、mysql的编译参数?

一)、查看nginx的编译参数与版?[root@ryan~]#/application/nginx/sbin/nginx -Vnginx version: nginx/1.8.0built by gcc 4.4.720120313 (Red Hat 4.4.7-4) (GCC) built with OpenSSL1.0.1e-fips 11 Feb 2013TLS SNI support enabledconfigure arguments: --prefix=/application/nginx1.8.0 --user=nginx --group=nginx--with-http_stub_status_module --with-http_ssl_module 二)、查看apache的编译参数与版? [root@ryan~]# cat/...

实现MHA,MySQL高可用集群架构【代码】

MHA:Master HA,对主节点进行监控,可实现自动故障转 移至其它从节点;通过提升某一从节点为新的主节点,基于主 从复制实现,还需要客户端配合实现,目前MHA主要支持一 主多从的架构,要搭建MHA,要求一个复制集群中必须最少有 三台数据库服务器,一主二从,即一台充当master,一台充 当备用master,另外一台充当从库,如果财大气粗,也可以用一台专门的服务器来当MHA监控管理服务器 MHA工作原理1 从宕机崩溃的master保存二进制日志...

大量删除MySQL中的数据【代码】

出现的背景:公司做了一个redis相关的项目,其中mysql存储了很多统计数据。比如客户端上报的数据,redis实例的数据,应用的数据,机器的数据等。每天都在上报,采集,由于没有定期删除,数据大量累积。大概有一年左右的数据,一个表的数据已经达到亿级别的。这样算下来,一个表的数据至少是几十GB了。因此需要删除过期的数据,暂时保留近三个月的统计数据。解决方案:基本每个表都有个字段叫create_time或者collect_time的字段,只...

mysql 一对多 group查询【代码】

场景:查询所有A表的数据,并且关联B表,再数据集中插入一个COUNT列。该列的数据是B表的COUNT扩展:假设join的表数据为空,但我任然要把所有表A的数据取出来,那就用LEFT JOINSELECT*FROM question AS A JOIN (SELECT question_id, COUNT(*) ASCOUNTFROM visitor GROUPBY question_id) AS C ON A.id = C.question_id 原文:http://www.cnblogs.com/CyLee/p/5583490.html

【MySQL笔记】字符串、时间日期转换【图】

1、新增一列,将字符串日期(年、月、日)转换为Date类型 报错:Error Code: 1175. You are using safe update:http://jingyan.baidu.com/article/e5c39bf58ed69239d76033a4.html 2、unix时间戳和普通时间之间的转换:SELECT now(); #现在时间SELECT unix_timestamp(now()); 现在时间转换为unix时间戳SELECT from_unixtime(unix_timestamp(now())); unix时间戳转换为现在时间在线转换工具:http://tool.chinaz.com/Tools...

MySQL的转义字符“\”

\0 一个ASCII 0 (NUL)字符。 \n 一个新行符。 \t 一个定位符。 \r 一个回车符。 \b 一个退格符。 \‘ 一个单引号(“‘”)符。 \ " 一个双引号(“ "”)符。 \\ 一个反斜线(“\”)符。 \% 一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。 \_ select ‘ab\‘ab‘ as a,‘ab\"ab‘ as b, ‘ab\tab‘ as c, ‘ab\bab‘ as d,‘ab\\ab‘ ...

Navitcat连接远程mysql服务器连不上

用putty操作mysql数据库不太方便,就想着用Navitcat通过SSH去连接远程mysql服务器,可实现动态对数据进行修改操作。依网上很多网友的意见,楼主使用以下命令:vim /etc/my.cnf。在[mysqld]下面加入如下两行 skip-name-resolveskip-grant-tables 保存,重启mysql服务,结果在putty上登录不上mysql(用户名和密码没错),后来去掉skip-grant-tables,终于登上了。然后我在网页上操作部署在远程服务器上的项目,却收到“数据库连接失败”...

MySQL高级【八】常用 SQL 技巧【代码】

常用 SQL 技巧SQL执行顺序编写顺序SELECT DISTINCT<select list> FROM<left_table> <join_type> JOIN<right_table> ON <join_condition> WHERE<where_condition> GROUP BY<group_by_list> HAVING<having_condition> ORDER BY<order_by_condition> LIMIT<limit_params> 执行顺序FROM <left_table>ON <join_condition><join_type> JOIN <right_table>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition...

mysql   外键约束

(1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库有时候会由于没有通过外键的检测而使得开发人员删除,插入操作失败.其实这正式外键在强制保证数据的完整性和一致性.(2) 添加外键的格式: ALTER TABLE yourtablename ADD [CONSTRAINT 外键名] FOREIG...

PHP编译安装mysql.so的扩展【代码】

1、进入php源码包安装路径pdo_mysql目录里面/usr/local/src/php/package/php-5.6.29/ext/pdo_mysql 2、运行phpize,在该目录下生成一个configure文件/usr/local/php/bin/phpize3、运行config,指定mysql和php目录位置./configure --prefix=/data/php --with-pdo-mysql=/data/mysql/bin/mysql_config --with-php-config=/data/php/bin/php-config --with-zlib-dir=/root/php-5.6.25/ext/zlib4、编译安装,生成mysql.somake && make...

MySQL(语句)【代码】

视图视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。1、创建视图CREATE VIEW v1 AS SELET nid, name FROMA WHEREnid > 4 2、删除视图 DROP VIEW v1 3.修改ALTER VIEW v1 AS SELET A.nid,B. NAME FROMA LEFT JOIN B ON A.id = B.nid LEFT JOIN C ON A.id = C.nid WHEREA.id > 2 AND C.nid < 5 4、使用视图select * fr...

关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步【代码】【图】

Xu言: 今天,为了研究一个MySQL主从同步开机后报错 问题,如下图故障原因分析: 经过分析,可能是主从服务器开机顺序导致。(有待下次断电再次测试)主从错误提示:日志读取错误的问题。解决方法:更新日志记录文件,重新主从同步。 担心主从问题过程中有数据写入,想去确认下主从库上的数据是否一致。想到了查询下数据库行数的方式。网上查询了下 ,一般有2种:方法一:查看当前表的记录行数SELECT count(*) from 表名 方法二:...

MySQL基本命令 (二)【图】

1. show procedure status like ‘存储过程名称‘ -- 查询存储过程的基本信息。650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111041027242.jpg" title="1.PNG" />2. show create procedure 存储过程名称 -- 查询存储过程的具体定义650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111041027406.jpg" title="2.PNG" />3. select * from information_schema.Routines where routine_...

ERROR: The partition with /var/lib/mysql is too full! failed!

今天一来公司,发现服务器挂掉了,然后执行日常简易操作,重启web服务器,还是不可以,然后重启mysql,结果mysql重启不了,查看日志,发现:ERROR: The partition with /var/lib/mysql is too full! failed!于是上网搜索,发现网上也有挺多遇到这种情况,有人贴代码: cd /var rm -rf log 也就是删除日志文件,然后重启mysql /etc/init.d/mysql start 结果我的mysql还是启动不了。查看其他更多搜索结果,都有提到分区不够,或者分区...

mysql从库级联

Mysql从库级联这种方式就是在mysql的从库后面再接一个从库,这种方式可以用在主库不能停的情况,还需要多加备份数据库,就可以在从库后在接一个从库。但是第二个从库的系统环境需要和第一个从库的系统环境完全一致。主库 master : 10.10.10.139从库salve1 : 10.10.10.133从库salve2 : 10.10.10.136在主库master上配置的操作Vim /etc/my.cnflog-bin=mysql-binserver-id = 1启动mysql服务后查看数据库有几个库 showdatabases从库s...

Mysql分区

Myisam:多个小表一个聚合表,逻辑上的Innodb:物理文件的划分注意事项 Show pluginsShow enginesShow variables like ‘%partition% 分区方式:Range、LIST、HASH、KEY,5.5版本之后支持非整形的Range和List分区;Hash分区不支持字符串 Explain:sql优化常用命令,比如Explain partitions select * from tbl1 where uuid=80Select * from tbl where uuid=8 partition(p1) Select * from information_schema.partions where tabl...