mysql数据库

MySQL sleep过多解决方法

不问归期 提交于 2020-02-03 03:20:27
睡眠连接过多,会对mysql服务器造成什么影响? 严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。 造成睡眠连接过多的原因? 1. 使用了太多持久连接(个人觉得,在高并发系统中,不适合使用持久连接) 2. 程序中,没有及时关闭mysql连接 3. 数据库查询不够优化,过度耗时。 那么,如果要从根本上解决sleep连接过多,就得从以上三点反复检查,但是见效并不快。 网上有人分享,使用shell脚本配合cron,定期杀死睡眠时间太久的连接,但是这种方法非常不可取,典型的以暴制暴,很可能导致数据崩溃,而且,还需要编写相应shell, 设置cron, 实施成本较繁琐,不推荐使用。 那么更好的办法应该是让mysql自己决定这些睡眠连接的命运,实施会更简单,有效。 mysql的配置文件中,有一项: wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止,多好的办法! 如设置:  wait_timeout=100 #即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止,要比编写shell脚本更简单。 那么,对于正在运行中的生产服务器,在不能停止服务情况下,修改此项怎么办?很简单,以root用户登录到mysql,执行: set global wait_timeout

Docker搭建的MySQL容器出现 \"Too many connections 1040\" 最大连接数修改完未生效的解决方案

妖精的绣舞 提交于 2020-02-03 03:04:09
原文: Docker搭建的MySQL容器出现 "Too many connections 1040" 最大连接数修改完未生效的解决方案 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39835887/article/details/86071545 一、背景 前几天在测试线上环境的过程中,需要一直关注数据库的数据变化。由于线上的MySQL是用Docker搭建的,在本地连接时经常出现 "Too many connections" , 在百度上找了很久,找不到关于Docker环境下MySQL的设置问题。最后通过英文在Google上才找到Stackover上的一条解决方案,分享一下! 二、原因分析 1、使用Docker后,默认将MySQL的连接数设置为214,修改后不起作用 2、在my.ini中设置max_connections参数均无效 三、解决方案 解除Docker最大连接数限制有两种解决方案,具体使用哪种,请结合你的Docker环境! 第一种:在Docker启动容器时该参数: (适用于未使用DockerFile镜像构建文件和docker-compose文件构建的环境) --ulimit nofile=65536:65536 第二种:修改Docker启动脚本实现:

ubuntu安装mysql

不打扰是莪最后的温柔 提交于 2020-02-03 00:43:16
记录 现在各种开发都会用到一些开源代码,比如mysql数据库,下面讲一下在ubuntu下安装mysql数据库。 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装。若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终端输入 sudo apt-get install mysql-server mysql-client 运行结果如上所示: 在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可。如下所示: 3)测试安装是否成功: 在终端输入 出现如下结果则安装成功: 4)也可通过登录MySQL测试 在终端输入 mysql -uroot -p 接下来会提示你输入密码,输入正确密码,即可进入。如下所示: 这就安装好了mysql数据库。。。 ———————————————— 版权声明:本文为CSDN博主「live_for_bug」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/whbing1471/article/details/50100161 来源: CSDN 作者: HUWD 链接: https://blog

mysql innodb引擎的事务

痴心易碎 提交于 2020-02-02 23:52:54
数据库事务是数据库执行过程中的一个逻辑单位,一个事务通常包含了对数据库的读/写操作。它的存在包含有以下两个目的:1.为数据库操作序列提供了一个回滚的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。2.当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。(就是提供了事务隔离级别设置来处理并发问题) 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。** 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 ** 3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。** 4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。** 二、事务并发问题名词解释 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2

mysql删除用户错误ERROR 1558解决办法

江枫思渺然 提交于 2020-02-02 12:26:11
1、错误提示 ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50560, now running 50645. Please use mysql_upgrade to fix this error. 意思是数据库以前做过升级但是数据库里的mysql库没有升级导致的权限混乱 2、解决办法 升级数据库使用命令 mysql_upgrade -uroot -p ‘密码’ Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck with default connection arguments Warning: Using a password on the command line interface can be insecure.

MySQL--事务

二次信任 提交于 2020-02-02 09:55:24
事务的基本介绍: 概念 :如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 操作 : 1,开启事务:start transaction; 2,回滚:rollback; 3,提交:commit; 理解 :也就是在多行sql语句中,加上一行start transaction开头,那么这多行语句就相当于一个事务。在运行时,数据是暂时性的修改,除非在末尾加上commit。如果某一行语句出现了错误,导致数据的不正确,最后一行就加rollback。 例子: ------中间那一行并没有加上注释,如果正常运行的话,将执行Tom那一行,Sam那一行不会执行。(转钱例子) MySQL数据库事务默认自动提交 事务提交的两种方式 : 1,自动提交:mysql就是自动提交的。一条DML语句会自动提交事务。 2,手动提交:oracle数据库默认是手动提交事务。需要开启事务在提交。 修改事务的提交方式 : 1,查看事务的默认提交方式:select @@autocommit; -1代表自动提交,0表示手动提交。 2,修改默认提交方式:set @@autocommit=0 事务的四大特征 :(面试经常问到) 1,原子性:是不可分割的最小单位,要么同时成功,要么同时失败。 2,持久性:当事务提交或回滚之后,数据库会持久化的保存数据。 3,隔离性:多个事务之间,相互独立。 4

MySQL

a 夏天 提交于 2020-02-02 09:30:47
一、索引 B+ Tree 原理 MySQL 索引 索引优化 索引的优点 索引的使用条件 二、查询性能优化 使用 Explain 进行分析 优化数据访问 重构查询方式 三、存储引擎 InnoDB MyISAM 比较 四、数据类型 整型 浮点数 字符串 时间和日期 五、切分 水平切分 垂直切分 Sharding 策略 Sharding 存在的问题 六、复制 主从复制 读写分离 参考资料 一、索引 B+ Tree 原理 1. 数据结构 B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。 B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。 在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 key i 和 key i+1 ,且不为 null,则该指针指向节点的所有 key 大于等于 key i 且小于等于 key i+1 。 2. 操作 进行查找操作时,首先在根节点进行二分查找,找到一个 key 所在的指针,然后递归地在指针所指向的节点进行查找。直到查找到叶子节点,然后在叶子节点上进行二分查找,找出 key 所对应的 data。 插入删除操作会破坏平衡树的平衡性,因此在插入删除操作之后

MySQL(ORM框架)

可紊 提交于 2020-02-02 08:50:44
day63 参考: http://www.cnblogs.com/wupeiqi/articles/5713330.html SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,如: MySQL-Python mysql+mysqldb://< user >:< password >@<host>[:<port>]/<dbname> pymysql mysql+pymysql://<username>:< password >@<host>/<dbname>[?<options>] MySQL-Connector mysql+mysqlconnector://< user >:< password >@<host>[:<port>]/<dbname> cx_Oracle oracle+cx_oracle:// user :pass@host:port/dbname[? key =value& key =value...] 更多详见:http://docs.sqlalchemy.org/en/latest/dialects/ index .html 可以连接不同的数据库。 1. ORM框架:SQLAlchemy - 作用: 1. 提供简单的规则 2.

数据库学习

吃可爱长大的小学妹 提交于 2020-02-02 05:40:42
数据库配置: mysql服务启动: 使用管理员cmd net start mysql:启动服务器 net stop mysql:关闭mysql服务 mysql登录: 1.mysql -uroot -p密码 2.mysql -hip -uroot -p 链接目标的密码 3.mysql --host=ip --user=root --password=链接目标密码 mysql退出: 1.exit 2.quit 来源: CSDN 作者: 韩浩楠 链接: https://blog.csdn.net/qq_35065720/article/details/103574419

MySQL Navicat连接出现错误2003 Can't connect to MySQL server on 'localhost' (10038)

守給你的承諾、 提交于 2020-02-02 04:49:28
MySQL Navicat连接出现错误2003 Can’t connect to MySQL server on ‘localhost’ (10038) 问题 打开idea运行程序时,出现数据库连接不成功问题,于是我打开Navicat连接时出现 然后我搜索材料,显示可能是MySQL服务没开。 我打开了自己的 任务管理器 发现 服务 里没有我的MySQL名称。于是我以管理员身份运行cmd,进入我安装的MySQL的bin目录下。输入net start mysql 显示ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)错误。表示无法连接到“本地主机”(10061)上的MySQL服务器。 以上行为纯属寻找出错位置于是有了以下操作 以管理员身份运行cmd。 此时就已经启动成功了。任务管理器的服务里就有了MySQL。且为正在运行状态。 可以再命令行查看MySQL 来源: CSDN 作者: littlepeachpeach 链接: https://blog.csdn.net/littlepeachpeach/article/details/104134825