MYSQL - 技术教程文章

重新安装MySQL8出现的问题【图】

这个学期有网络数据库的课,于是把当初的MySQL下回来,但期间又遇到了许多的新问题。。。问题与解决方法如下:问题一百度一下。。安装一个“微软常用运行库”即可解决问题。注意:是VCRUNTIME140_1.dll,不是VCRUNTIME140.dll!!!问题二 百度一下。。。原因是my.ini文件中设置的路径与Mysql解压后的路径不一致。因为我之前下载等版本是8.0.17,而最新的是8.0.19。将路径修改一致即可。问题三百度一下。。。。原因是打开cmd.exe时没...

全网最全一篇MySQL数据库MVCC详解,不全你打我【图】

什么是MVCC全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。以下文章都是围绕InnoDB引擎来讲,因为myIsam不支持事务。同一行数据平时发生读写请求时,会上锁阻塞住。但mvcc用更好的方式去处理读—写请求,做到在发生读—写请求冲突时不用加锁。这个读是指的快照读,而不是当前读,当前读是一种加锁操作,是悲观锁。那它到底是怎么做到读—写不用加锁的,快照读和当前读又是什么鬼,跟着...

mysql事务处理用法与实例详解【代码】

来源:转载 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务、行级锁、并发 3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则整个事务将失败。实际上,会俱乐部许多SQL查询到一个组中,将执行...

Zabbix结合插件percona监控mysql数据【代码】【图】

Zabbix结合插件percona监控mysql数据 按道理来说zabbix就自带的MySQL插件来监控mysql数据库,但是你会发现,自带的mysql监控项是很少的,根本满足不了公司的需求。 由于它本身自带的模板太过简单了,所以需要做更详细的监控,而percona就提供了这个详细监控的模版以及脚本,解决了监控不全面的问题。1、percona插件安装:[root@node2 ~]# cd /usr/local/src/官网下载percona的rpm包,我这里是下载的是1.1.7版本的[ro...

mysql select是否会锁表 ?

mysql select是否会锁表 ? 有的人说mysql的 select 会锁表 ,有的人说 mysql 的查询不会锁表 。其他他们都对,没有 ,但是很片面。 其实对于mysql的select 是否会锁表 ,这个完全取决于表采用的是什么存储引擎。这里我就拿大家最熟悉的存储引擎INNODB 和MYISAM 来说明这个问题。 对于myisam的表select 是会锁定表的 ,会导致其他操作挂起,处于等待状态。对于innodb的表select 是不会锁表的。其实这里使用到了快照。快照这里不作讨...

Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL【代码】【图】

Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL 1.安装zabbix agent[root@szlinux01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.0-1.el7.x86_64.rpm [root@szlinux01 ~]# yum install zabbix-agent 2.修改配置[root@szlinux01 ~]# vim /etc/zabbix/zabbix_agentd.confServer=192.168.137.3ServerActive=192.168.137.3Hostname=szlinux01 3.启动代理[root@szlinux01 ~]# systemctl ena...

mysql主从介绍,准备工作,主配置,从配置,主从测试【代码】【图】

主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。MySQL主从是基于binlog的,主上须开启binlog才能进行主从。主从过程三个步骤 主将更改操作记录到binlog中从将主的binlog事件(SQL语句)同步到本机并记录在relaylog中从根据relaylog里面的SQL语句按顺序执行该过程有三个线程,主上有一个logdump线程,用来和从的i/o线程传递binlog;从上有...

mysql 5.7 root密码修改【代码】【图】

MySQL管理者密码设置或修改:依据官方说明5.6以后版本,第一次启动时会在root目录下生产一个随机密码,文件名.mysql_secret。[root@bright ~]# cat /root/.mysql_secret # Password set for user ‘root@localhost‘ at 2015-03-27 23:12:10 :Jj+FTiqvyrF [root@bright ~]# cd /usr/local/mysql/bin/ [root@bright bin]# ./mysqladmin -u root -h localhost password ‘123456‘ -p Enter password: #此行输入....

MySQL基础入门学习【13】存储过程【图】

SQL命令 --> MySQL引擎首先对于我们输入的SQL命令进行语法分析,来看一下我们输入的语句是否 -->语法正确 --> 编译,成MySQL引擎可识别命令 -->执行,并将-->执行结果-->返回给客户端。如果我们省略其中语法分析和编译的环节,MySQL的执行效率就会提高。 【存储过程】是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理;     存储过程存储在数据库内,可以有应用程序调用执行,且允许用户进行声明变量...

编译安装mysql 5.6【代码】

yum -y install make gcc-c++ cmake bison-devel ncurses-devel下载MySQL 5.6.14wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz tar xvf mysql-5.6.14.tar.gz cd mysql-5.6.14编译安装cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_REA...

MYSQL ERROR 1194 (HY000)【代码】

操作系统文件限制大小导致 MYSQL ERROR 1194 (HY000): Table is marked as crashed and should be repaired 问题处理同事反馈应用在执行查询某张表时候报ERROR 1194 (HY000): Table is marked as crashed and should be repaired 错误mysql> select * from ims_stat_msg_history where module=‘basic‘ and message=‘0‘ and createtime>=UNIX_TIMESTAMP(‘2015-03-04‘) LIMIT 0, 10;ERROR 1194 (HY000): Table ‘ims_stat_msg_...

Oracle、MySql、Sql Server比对【代码】

1. 价格MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议。假设你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你能够遵循GPL协议免费使用MySQL。否则,你须要购买MySQLAB制定的那个商业许可协议。Windows $200,Unix或Linux自行安装免费,.Unix或Linux第三方安装$200。Sql Server:适中. SQL 2008 标准版:[1CPU 无限用户 R2 版本号] ¥31900 [R2 5用户] ¥5500 SQL 2...

MySQL的逻辑分层

mysql逻辑分层: 1.client ==>连接层 ==>服务层==>引擎层==>存储层 server 2.连接层: 提供与客户端连接的服务 3.服务层: 1.提供各种用户使用的接口(增删改查),sql解析 sql的解析过程比如: from ... on ... where ... group by ... having ... select ... order by ... limit 2.提供SQL优化器(MySQL Query Optimizer),重写查询,决定表的读取顺序,选择合适的索引 mysql的hint关键字有很多比如:SQL_NO_CACHE FORCE_INDEX SQL_BUFFER_RE...

php+mysql+Apache环境搭建【图】

最近有一个小程序需要用php来跑,记录一下php的环境配置过程。1.首先在下载集成工具wamp,WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器:https://sourceforge.net/projects/wampserver/files/WampServer%203/WampServer%203.0.0/wampserver3.0.6_x64_apache2.4.23_mysql5.7.14_php5.6.25-7.0.10.exe/download下载后直接安装即可。2.安装完成后运行wamp,在桌面右下角即会出现wamp的...

linux安装MySQL报错perl【代码】

报错景象:  error: Failed dependencies: perl(DBI) is needed by MySQL-server-4.0.26-0.i386  error: Failed dependencies: perl(DBI) is needed by MySQL-client-4.0.26-0.i386 解决办法:1、安装perlDBI,运行:yum install perl-DBI2、安装perl的依赖,运行:yum install -y perl-Module-Install.noarch 注意:不要强制--force安装,安装完了也不能用! 原文:https://www.cnblogs.com/yorge/p/13266976.htm...

mysql 重启报错【图】

今天修改文件夹的读写权限 结果 一个手误修改了所有的文件为777 权限结果mysql 不能重启了查看了下然来是my.cnf 权限设置高了 将my.cnf 设置成644 即可重启原文:http://www.cnblogs.com/threemore/p/3995380.html

Mysql找回管理员password

我们使用MYSQL的时候有可能由于种种原因忘记ROOTpassword,假设是那样数据库可能就废掉了。可是今天给大家分享下找回ROOTpassword的方法或者说是在不知道rootpassword的情况下改动ROOTpassword,可是还是建议大家对rootpassword慎重保管,防止一些不必要的麻烦找回管理员password:[root@localhost~]# service mysqld stopShutting down MySQL....[确定][root@localhost~]# vim /etc/init.d/mysqld大约在283行: $bindir/mysq...

MySQL的四种事务隔离级别【代码】【图】

本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没...

一句SQL实现MYSQL的递归查询【代码】

众所周知,目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,还是可以在一句SQL内实现树的递归查询的。这个得益于Mysql允许在SQL语句内使用@变量。以下是示例代码。创建表格CREATETABLE `treenodes` (`id` int , -- 节点ID`nodename` varchar (60), -- 节点名称`pid` int-- 节点父ID ); 插入测试数据INSERTINTO `treenodes` (`id`, `nodename`, `pid`) VALUES (‘1‘,‘A‘,‘0‘),(‘2‘,‘B‘,‘1‘),(‘...

mysql 返回多列的方式【代码】

SELECT*FROM (SELECT‘success‘as _result) a,(SELECT@gidas gid) b; 原文:http://www.cnblogs.com/CyLee/p/5582409.html

Spring Batch示例: 读取CSV文件并写入MySQL数据库【代码】

Spring Batch示例: 读取CSV文件并写入MySQL数据库GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md原文链接: Reading and writing CVS files with Spring Batch and MySQL原文作者: Steven Haines - 技术架构师下载本教程的源代码: SpringBatch-CSV演示代码用批处理程序来操作动辄上GB的数据很可能会拖死整个系统,但现在我们可以通过Spring Batch将其拆解为多...

MySQL之查询优化方式(笔记)【代码】

1.COUNT()  对COUNT的优化可以通过下面的SQL实现mysql> select count(gnp<10000 or null) as ‘<<<<‘,count(gnp>=10000 or null) as ‘>>>>‘ from country; +------+------+ | <<<< | >>>> | +------+------+ | 152 | 87 | +------+------+ 1 row in set (0.00 sec) count(*)与count(cloumn)返回的值可能不一样,因为如果存在空的情况,count(*)也会计算在内2.SUM()对SUM()的优化需要通过建立索引实现mysql> desc city; ...

使用pymysql链接数据库【代码】

import pymysqlclass DataBaseHandle(object): ‘‘‘ 定义一个 MySQL 操作类‘‘‘ def __init__(self, host, username, password, database, port): ‘‘‘初始化数据库信息并创建数据库连接‘‘‘ # 下面的赋值其实可以省略,connect 时 直接使用形参即可 self.host = host self.username = username self.password = password self.database = database self.port = p...

Ubuntu Remove Mysql.service in Systemctl【代码】

After installing MySQL 5.7, I do not want to start MySQL via systemctl.It‘s unconvenient and complicated for maintainer. Actually, I like the waythat software should be installed by source package.Solution to remove service:systemctl disable mysql.servicecd /lib/systemd/system orcd /etc/systemd/systemrm mysql.servicesystemctl daemon-reload 原文:http://www.cnblogs.com/zhuangzebo/p/6534485.html

MySQL索引背后的数据结构及算法原理

摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 文章主要内容分为三个部分。 第一部分主要从数据结构及算法理论层面讨论M...

十一、linux-mysql的多种日志和引擎文件实战【图】

一、多种日志 mysql生成或者相关联的日志文件种类繁多,本节重点关注与mysql数据库服务相关的几类日志文件。 错误日志(error log) :记录mysql服务进程mysqld在启动/关闭或者运行过程中遇到的错误信息; 查询日志(query log) :分为两类: 普通查询日志(general query log):记录客户端连接信息和执行sql语句信息; 慢查询日志(slow query log): 记录执行时间超过指定值(long_query_time)的sql语...

mysql 入门 1

连接mysql服务器mysql -h localhost -u username -ppasswd1、查看服务器存在的库show databases;2、创建数据库create database php;3、选中具体的库use php;4、查看表show tables;5、删除库drop database php;6、创建一张表create table class(stu int,name varchar(20),age int, area varchar(20));create table score(stu int,name varchar(20),ke varchar(10),fen int);7、表改名rename table oldname to newname;8、查询表单de...

mysql比较常用到的一些操作

1.新建数据库create database 数据库名;2.选中数据库user 数据库名;3.导出某张表数据在服务器界面如: root@iXZj9XZ:~# 执行:mysqldump -u 用户名 -p 数据库名 数据表名 > 导出的文件名和路径4.查看数据库表有哪些索引show index from 数据库表名;5.给某张表添加索引ALTER TABLE table_name ADD INDEX 索引名称 (要添加索引的列)6.给某张表添加字段ALTER TABLE 数据库表名 ADD 添加的字段名称 添加的字段类型(长度);7.修改某张表的字...

mysql阅读笔记

----------mysql-------------------------1,设计字段长度最优,字段设置为非空,部分字段可以设计成enum2, 首先,最好是在相同类型的字段间进行比较的操作3, 其次,在建有索引的字段上尽量不要使用函数进行操作4,SELECT * FROM books WHERE name like "MySQL%"5,SELECT * FROM books WHERE name >= "MySQL" and name <"MySQM"6,like关键字影响性能.7.explain 查看sql执行计划-----执行计划Id字段解释 1. id相同...

Linux下MySQL Error 1130 不能远程访问(转)

Linux下MySQL Error 1130 不能远程访问内容简介:远程连接MySQL时总是报出erro 2003: Can‘t connect to MySQL server on ‘211.87.***.***‘ (111),昨天查了好几个小时才找到解决方案,如下:……最近做Linux项目用到MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can‘t connect to MySQL server on ‘211.87.***.***‘ (111),昨天查了好几个小时才找到解决方案,如下: 1.sudo gedit /etc/mysql.my.cnf 找到bind-address...