mysql数据库

关于安装MySql时出现 error1045的解决办法

旧城冷巷雨未停 提交于 2020-02-25 21:10:20
MySql以前使用过,但今天重新安装时出现了让人拙计的事情,尝试好几次,永远卡在如下错误上: 自己搜索互联网,无疾而终;请教身边顺利使用的同事,都么见过(他们都一切顺利),我只感觉what?再有天将降大任于斯人也,琢磨出来解决办法也可助人为乐,于是,有了两个小时的反反复复尝试,最终成功。 出错原因:以前装过,相关文件没有彻底删除。 解决思路:彻底灭,不留一丝痕迹! 如何做到? 1、删除MySql。 方法1:控制面板中删除,次方法前提是此方法必须先终止相关运行的进程;(不推荐) 方法2:使用应用软件删除。点击安装包,选择“delete”,可直接终止应用进程并删除。 2、第1步只能删除部分文件,有很多相关文件留了下来。需要执行如下操作(请一定保证做到所有步骤,不怕一万就怕万一,漏了谁又得重来,会吐血): (1)删除注册表文件 删除相关搜索结果。可以使用F3快捷键反复尝试,直到无搜索结果。 (2)进一步删除注册表文件 命令行输入:regedit,在注册表下执行如下操作: 查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可; 查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog

.ini配置文件管理

空扰寡人 提交于 2020-02-25 20:48:11
配置文件在项目中常用于信息管理,例如数据库信息、服务器信息等,也可以用于环境切换。 配置文件主要有.ini和.conf两种类型。 这里我们使用Python的第三方库模块configparser实现.ini配置文件管理。 首先,准备好配置文件,文件名为conf.ini,文件内容如下: [mysql] host=127.0.0.1 port=3306 user=admin password=123456 这里需要说明一下,ini的文件内容主要有两部分组成,一个是section,一个是option,上面内容中[]内的mysql就是section,而下面的host、port、user、password都是option。 既然有了配置文件,我们如何进行管理呢? 首先安装configparser模块: pip install configparser 然后导入: from configparser import ConfigParser 实例化ConfigParser操作对象: conf = ConfigParser() 读取配置文件内容: conf.read('conf.ini', encoding='utf-8') 获取mysql的host: conf.get('mysql', 'host') get()方法的第一个参数是section,第二个参数是option,得到的结果默认是字符串类型

MySQL错误1153

久未见 提交于 2020-02-25 20:40:15
我正在导入MySQL转储并收到以下错误。 $ mysql foo < foo.sql ERROR 1153 (08S01) at line 96: Got a packet bigger than 'max_allowed_packet' bytes 显然,数据库中有附件,这使得插入非常大。 这是在我的本地机器上,从MySQL软件包安装MySQL 5的Mac。 我在哪里更改 max_allowed_packet 以便能够导入转储? 还有什么我应该设置的吗? 刚刚运行 mysql --max_allowed_packet=32M … 导致了同样的错误。 #1楼 您可能必须为客户端(您正在运行以执行导入)和正在运行并接受导入的守护程序mysqld更改它。 对于客户端,您可以在命令行上指定它: mysql --max_allowed_packet=100M -u root -p database < dump.sql 另外, 更改 mysqld部分下 的my.cnf或my.ini文件 并设置: max_allowed_packet=100M 或者您可以在连接到同一服务器的MySQL控制台中运行这些 命令 : set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;

Mysql中InnoDB和MyISAM两种引擎

人走茶凉 提交于 2020-02-25 20:20:10
InnoDB支持事务,意味着强业务支持性更好;可以回滚,也就意味着某些异常状态下仍能保持稳定性。而MyISAM不支持,相对来讲性能效率就更好,只用查询类的表就更适合该引擎。 但5.5版本开始就将InnoDB作为默认引擎,在最新的8以上版本中,更是取消了MyISAM并更新了InnoDB,优化了InnoDB的效率,那MyISAM就没什么存在的必要了。 最近使用MyIsql时出问题并不是AOP切面和事务配置的问题,结果是MyISAM的问题,踩了个坑半天都没反应过来,查了半天才搞懂。 以前总觉得小就是美,快就是好的想法应该变化,至少不能两全的时候稳定性比快和小重要得多。当时想update一个表结果范围错了,网上一顿查都没查明白,就觉得InnoDB真烂要是MyISAM导出方便不知道多少。而当时也是只想着往里面灌数据,反正就一个跟视频一块做的项目,人家干啥我干啥呗,结果回过头来写第一篇数据库才发现现实里面哪有那么多正好的数据给你看。 最后就是之前的事还是要多拿出来找问题,重复的项目一边就够了,多改多嚼,我在网上搜大多都是15,16年的坑,结果到现在了我还在犯,看落后的视频做落后的项目,真的脑残。   贴一个问题,我最近遇到,也是很老的:   一个商品有库存,假设只剩最后一件了,库存为1,如果此时有很多个人同时购买此商品怎么办,不可能让两个人都下单成功,库存为-1吧,所以这个在php +

Mysql事务隔离实现机制

我怕爱的太早我们不能终老 提交于 2020-02-25 19:14:13
今天我们来看看事务隔离的实现原理 事务隔离 隔离性与隔离级别 当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读 (non-repeatable read)、幻读(phantom read)的问题,为了解决这些问题,就有 了“隔离级别”的概念 在谈隔离级别之前,你首先要知道,你隔离得越严实,效率就会越低。因此很多时候,我们都要在二者之间寻找一个平衡点 读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。 读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。 可重复读是指,一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。 串行化,顾名思义是对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当 出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行 在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。 在“可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。 在“读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。这里需要注意的是, “读未提交”隔离级别下直接返回记录上的最新值,没有视图概念; 而“串行化”隔离级别下直接用加锁的方式来避免并行访问 事务隔离的实现

zabbix4.0理论+操作——02(zabbix部署+邮件报警)

ぃ、小莉子 提交于 2020-02-25 18:58:40
zabbix理论+操作——02(zabbix部署+邮件报警) 实验环境 监控端:192.168.136.168 被监控端:192.168.136.185 安装LAMP yum install -y \ httpd \ mariadb-server mariadb \ php \ php-mysql \ php-gd \ libjpeg* \ php-ldap \ php-odbc \ php-pear \ php-xml \ php-xmlrpc \ php-mhash vim /etc/httpd/conf/httpd.conf ServerName www.benet.com DirectoryIndex index.html index.php vi /etc/php.ini date.timezone = PRC //设置中国时区 systemctl stop firewalld.service setenforce 0 systemctl start httpd.service systemctl start mariadb.service netstat -ntap | egrep '(80|3306)' mysql_secure_installation vi /var/www/html/index.php <?php phpinfo(); ?> http://192

大型网站架构——百万PV

限于喜欢 提交于 2020-02-25 18:58:01
简介 PV即点击量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的重要指标。PV从某种程度上已经成为投资者衡量商业网站表现的最重要的尺度。 PV是一个访问者在24小时到底看了网站的几个页面。 案例描述 本案例设计采用四层模式实现,主要分为前端反向代理,web层,数据库缓存层和数据库层。前端反向代理层采用主备模式,web层采用集群模式,数据库缓存采用主备模式,数据库层采用主从模式。 案例环境 主:192.168.177.145 centos7-1 从:192.168.177.135 centos7-2 节点1:192.168.177.132 centos7-3 节点2:192.168.177.133 centos7-4 主服务器 从服务器 安装带有nginx rpm软件包的源 #rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/\ nginx-release-centos-7-0.el7.ngx.noarch.rpm 使用centos 默认仓库完成下面的安装 主 #yum install -y keepalived nginx #vim /etc/keepalived/keepalived.conf //从上修改三个参数 ! Configuration File for keepalived vrrp_script

Mysql 多种Count写法的区别

*爱你&永不变心* 提交于 2020-02-25 18:34:33
今天我们来看看count的不同实现方式 count(*) 的实现方式 先来看一下 coun(*)的实现,MyISAM和InnoDB的实现上是不同的 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count( ) 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执行 count( ) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数 如果加了 where条件的话,MyISAM 表也是不能返回得这么快的 为什么 InnoDB 不跟 MyISAM 一样,也把数字存起来呢? 这是因为即使是在同一个时刻的多个查询,由于多版本并发控制(MVCC)的原因, InnoDB 表应该返回多少行也是不确定的 这和 InnoDB 的事务设计有关系,可重复读是它默认的隔离级别,在代码上就是通过MVCC 来实现的。每一行记录都要判断自己是否对这个会话可见,因此对于 count(*) 请求来说,InnoDB只好把数据一行一行地读出依次判断,可见的行才能 够用于计算“基于这个查询”的表的总行数 InnoDB 是索引组织表,主键索引树的叶子节点是数据,而普通索引树的叶子节点是主键值。所以,普通索引树比主键索引树小很多。对于count(*) 这样的操作,遍历哪个索引树得到的结果逻辑上都是一样的。因此,MySQL 优化器会找到最小的那棵树来 遍历。在保证逻辑正确的前提下

部署Memcache服务

旧城冷巷雨未停 提交于 2020-02-25 15:26:17
博文结构 Memcache简介 Memcache工作流程 Memcache调度算法 Memcache实现原理 安装Memcache 一.Memcache简介 Memcache是一套自由、开源、高性能、分布式的高速缓存系统。由于Memcache通过在内存中缓存数据和对象来减少读取数据库的次数。目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。 memcache是一套分布式的高速缓存系统,可以提高网站访问的速度,尤其是对于一些大型的公司或者频繁访问数据库的网站访问速度提升效果十分显著,memecache是一个开源免费的软件,memcache通过键值对的方式将数据缓存在内存当中,减少从后端数据库读取数据的次数。 二.Memcache工作流程 MemCache 虽然被称为”分布式缓存”,但是 MemCache 本身完全不具备 分布式的功能,MemCache 集群之间不会相互通信(与之形成对比的,比如 JBoss Cache,某 台服务器有缓存数据更新时,会通知集群中其他机器更新缓存或清除缓存数据),所谓的” 分布式”,完全依赖于客户端程序的实现,就像上面这张图的流程一样。 同时基于这张图,理一下 MemCache 一次写缓存的流程: (1)应用程序输入需要写入缓存的数据; (2)API将Key输入路由算法模块

MySQL 主键冲突,无法插入数据

ε祈祈猫儿з 提交于 2020-02-25 15:24:55
数据库版本:5.6.16 问题: 开发来电话说仓库无法下单,程序插入数据提示:入库单 xxxx1589762285确认失败:Duplicate entry '8388607' for key 'PRIMARY' 查看数据库表结构: show create table table_name; 表结构的字段为主键自增,应该没问题啊,仔细一看发现表结构id类型如下: `id` mediumint(8) NOT NULL AUTO_INCREMENT 字段类型为mediumint,支持的最大值为8388607,确定问题。 修改表结构的id字段类型,修改的时候一定要注意加上auto_increment,否则修改完,主键自增为失效 alter table table_name modify id bigint not null aotu_increment; 修改成功后,联系开发,让仓库那边重新试一下,没问题! 来源: https://www.cnblogs.com/hankyoon/p/5169700.html