操作系统:CentOS 7 Mysql版本:Mysql 8.0.x Docker版本:Docker version 20.10.10
最近一个安装宝塔环境的项目,mysql老是关闭停止了。连续好多次了,然后我就发现不对劲。然后去查了下日志,日志内容:
你知道MySQL启停都做了些什么吗? 启动的时候初始化配置文件,读取redo配合binlog进行事务recover;停止的时候好像没有啥操作可做;印象中除了这些,就再没有了,至少在今天之前,我是这么认为的,我是真的肤浅。 今天就来聊一聊MySQL关于启停的常规操作。
你知道MySQL启停都做了些什么吗?启动的时候初始化配置文件,读取redo配合binlog进行事务recover,停止的时候好像没有啥操作可做;印象中除了这些,就再没有了,至少在今天之前,我是这么认为的,我是真的肤浅。今天就来聊一聊MySQL关于启停的常规操作。
使用xtrabackup对主库进行备份,在从节点主机上进行恢复,并将还原后的实例部署为主库的从节点。在启动介质与主库版本一致的情况下,启动主从同步后,日志出现如下错误:
最近开始接触PHP,而一般搭建PHP环境使用的都是xampp 这个集成环境,由于之前我的系统中已经安装了mysql服务,所以在启动mysql的时候出现一些列错误,我通过查询各种资料解决了这个问题,现在记录一下,方便日后遇到同样的问题时能够快速解决,也为遇到同样问题的朋友提供一种解决的思路。
然后启动安装centos即可,注意安装过程中,需要把网络配置固定IP,避免每次启动虚拟机IP飘走。
MySQL的配置文件,想必大家都不陌生,今天再来说说配置文件中的一些常用配置,并非最合理的配置,仅供参考,只有了解自己的生产环境,才能根据环境找到最适合你的配置文件参数。
用 brew 将 mysql 从5.6.22升级到了5.7, 启动mysql服务以后发现登录不进去, 原来的密码失效, 应该是两个版本的 mysql.user表结构的差异造成的, 为了保留之前的数据, 所以卸载了5.7.x. 卸载以让命令后重新指向5.6.22, 用mysql.server命令启动mysql, 这个时候报错了,启动不了: . ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pi
首写修改my.ini文件 修改这几项即可 [client] port=3310 [mysql] default-character-set=utf8 [mysqld] port=3310 server_id=35 全文如下 #landv 2018年10月5日 11:12:34 [client] port=3310 [mysql] default-character-set=utf8 [mysqld] port=3310 server_id=35 basedir="D:\mysql\mysql-5
MySQL8.0推出一个号称可以自适应服务器的参数,保证在各种不同的服务器、虚拟机、容器下自动适配服务器资源,让我们一起来看看到底它能做到什么地步。
实际中是三台实体机上分别部署,这里为了演示截图,采用虚拟机中部署了三个Linux环境,网络设置为桥接模式
Galera Cluster for MySQL是一套基于同步复制的多主MySQL集群解决方案,使用简单,没有单点故障,可用性高,能很好保证业务不断增长时我们数据的安全和随时的扩展,主要特点:
爱可生 DBA 成员,一个执着于技术的数据库工程师,主要负责数据库日常运维工作。擅长 MySQL,Redis 及其他常见数据库也有涉猎;喜欢垂钓,看书,看风景,结交新朋友。
重点关注 : Innodb_row_lock_time_avg 、Innodb_row_lock_waits 、Innodb_row_lock_time
今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。 看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下mysql里面的数据库,这个比较简单,和mysql命令用法是一样的,运行一遍就ok了。然后发现还是无法关闭innodb,很奇怪,查了下发现原来mysql5.5默认使用innodb了,所以无法简单的关闭掉,还要设置一下默认使用的引擎为myisam才可以,在my.cnf里加上如下两句: 复制代码 代码如下: default-storage-engine=MYISAM innodb=OFF 重启mysql,然后删掉那三个讨厌的文件即可。 MySQL 5.6 禁用INNODB INNODB是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是INNODB还是会耗费内存和硬盘,这时候,就需要把INNODB彻底禁用。 在以前的MySQL中,一般可以这么设置就行了: 复制代码 代码如下: default-storage-engine=MYISAM skip-innodb 但是在最新的MySQL5.6里,这么设置是没法启动的,需要再增加一句设置: 复制代码 代码如下: default-tmp-storage-engine=MYISAM 不仅如此,还需要添加以下配置,否则程序会很容易退出的: 复制代码 代码如下: loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 loose-innodb-metrics=0 loose-innodb-ft-default-stopword=0 loose-innodb-ft-inserted=0 loose-innodb-ft-deleted=0 loose-innodb-ft-being-deleted=0 loose-innodb-ft-config=0 loose-innodb-ft-index-cache=0 loose-innodb-ft-index-table=0 loose-innodb-sys-tables=0 loose-innodb-sys-tablestats=0 loose-innodb-sys-indexes=0 loose-innodb-sys-columns=0 loose-innodb-sys-fields=0 loose-innodb-sys-foreign=0 loose-innodb-sys-foreign-cols=0 摘自http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html 另外MYSQL 5.6 比 5.5占用了更多的物理内存,虚拟内存跟5.5使用差不多(5.5也是一个虚拟内存消耗大户)。性能上比5.5提升了30%左右(根据官方文档,没作具体测试)。
yum -y remove mariadb-libs-5.5.44-2.el7.centos.x86_64
Linux CentOS 7下启动、关闭、重启、查看MySQL服务 启动命令 关闭命令 重启命令 查看服务状态 查看MySql系统配置 启动命令 service mysqld start [root@VM_0_16_centos ~]# service mysqld start Starting MySQL.. [ OK ] 关闭命令 service mysqld stop [root@VM_0_16_centos ~
在ssh输入:wget -O sql-repair.sh http://download.bt.cn/install/sql-repair.sh && sh sql-repair.sh
MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆。通常启动mysql服务器即是启动mysqld进程,mysqld启动后,可以通过mysql连接到mysql服务器。本文主要描述了mysql服务器的几种启动方式以及如何关闭mysql服务器。
systemd 是Linux系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程,systemd被设计用来改进原来sysvinit中的多个缺点。
当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于Java探针技术,基本对应用零侵入零耦合。
今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。 看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下
本次进行MySQL5.7版本的安装,关于MySQL版本选择、官网下载地址、相关系统配置等操作可以参照之前的博文,本文就不在赘述咯。可以参考历史文章处理,下面直奔主题,进行相关安装工作。
摘录自:http://gfsunny.blog.51cto.com/990565/1566683
导 读 想必数据库的同行们都知道,热点数据导出导入的动作,使得数据库重启之后,不需要再耗费大量的时间来预热,使得因为热点数据的原因导致数据库性能波动的时间大大减少,那么执行热点数据的导出与导入操作时究竟对数据库的性能有没有影响呢?如果你的服务器拥有超大内存,而且设置了一个对应内存一定比例的超大buffer pool,是否在纠结需不需要设置热点数据在重启时自动导出导入呢?下面一起看演示过程,答案就在其中。 背 景 sysbench造数200个500W数据量的表,占用磁盘空间275G 服务器配置 CPU
mysql开机自启后,使用 show global variables like '%open%'; 查询open_file相关的参数
在测试环境下没有设置过多的详细参数就初始化并启动了服务,后期优化的过程中发现innodb_data_file_path设置过小:
现有一台服务器,需要部署mysql和redis。其中mysql容器,需要在第一次启动时,执行sql文件。
Prometheus 是一种开源的监控系统和时序数据库,旨在收集和处理大量数据并提供可视化、监控警报等功能。它支持多种语言、多种部署方式,并且非常灵活,而且社区支持非常活跃,为用户提供了很多优秀的解决方案。 MySQL 是一种流行的关系型数据库管理系统,用于存储和管理结构化数据。MySQL 数据库对于 web 应用程序、企业级应用程序和数据仓库等应用场景都非常适用。
机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了。 查看mysql错误日志如下: 160920 22:41:41 mysqld_safe Starting mysqld daemon with databases from /home/MysqlData/ 2016-09-20 22:41:41 0 [Note] /Data/app/mysql5.6.25/bin/mysqld (mysqld 5.6.25-log) sta
今天翻看MySQL8.0的官方文档的时候,看到了MySQL8.0的几个新特性,简单测了下,跟MySQL5.7做了下对比,测试的结果如下:
作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。
将/tmp目录权限修改为777,重启mysql和cloudera-scm-server服务
今天有个网友问我一个MySQL的恢复问题。提供的截图如下。 对于这个问题,在一些断电的场景下还是可能出现的。我首先是要确认是否为线上业务还是测试环境,线上业务来说这个影响还是很大的。如果数据库
Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文件造成永久的破坏,不可恢复。六个等级的介绍摘抄如下:
部署前提:准备一个干净的系统,确认先前没有安装过MySQL、Mariadb等相关服务,造成不必要的冲突。
最近安装好了MySQL之后,在启动MySQL服务时无法正常启动MySQL。提示没有更新/var/lib/mfailedZDB.pid并退出。该MySQL与Oracle位于同一主机。有些内核参数进行过调整应该也是使用与MySQL。下面是该问题的具体描述。
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
在https://dev.mysql.com/downloads/mysql/选择Archives选项卡,产品版本选择5.7.36,操作系统选择Red Hat Enterprise Linux 7/Oracle Linux 7,把OS的版本选择为all,直接下载mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面。可以通过下面的命令来下载rpm包:
CREATE TABLESPACE tablespace_name ADD DATAFILE ‘/my/table/space/dir’;
💡 PXC(Percona XtraDB Cluster)是一个开源的、高可用性的MySQL解决方案,它基于Galera集群技术,提供了内置的多主节点、同步复制和故障转移等功能。PXC支持无需共享存储就能实现可扩展性和高可用性,使得应用程序能够更好地应对高并发访问和故障恢复。PXC集群主要由两部分组成:Percona Server with XtraDB和Write Set Replication patches(同步、多主复制插件)
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的。mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配。 可以通过源码安装的方式,自定义安装自己所需版本的mysql。 ---------------------------------------------------------------------------------------------------------------------------------
################################# mysql 完整安装 ########################### groupadd mysql useradd -g mysql mysql mv /root/mysql-5.0.51b.tar.gz /usr/local/src tar -zxvf mysql-5.0.51b.tar.gz cd mysql-5.0.51b ./configure --with-charset=latin1 --with-extra-charsets=all --enable-assembler --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --prefix=/usr/local/mysql-5.0.51b --localstatedir=/data/mysql5051_db make make install ln -s /usr/local/mysql-5.0.51b /usr/local/mysql mkdir -p /data/mysql5051_db/dbdata mkdir -p /data/mysql5051_db/innodb mkdir -p /data/mysql5051_db/binlog chown -R mysql:mysql /data/mysql5051_db chmod -R 775 /data/mysql5051_db cd /usr/local/src/mysql-5.0.51b vim ./scripts/mysql_install_db中的ldata=/data/mysql5051_db/dbdata cp ./support-files/my-small.cnf /etc/my.cnf /usr/local/mysql-5.0.51b/bin/mysql_install_db --basedir=/usr/local/mysql-5.0.51b --ldata=/data/mysql5051_db/dbdata --user=mysql vim /etc/my.cnf bind-address = 192.168.0.8 datadir = /data/mysql5051_db/dbdata/ pid-file = /data/mysql5051_db/my.pid log-slow-queries=/data/mysql5051_db/dbdata/slowquery.sql log-bin = /data/mysql5051_db/binlog/sortrepl.log ################innodb#################### # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /data/mysql5051_db/innodb/ innodb_data_file_path = ibdata1:1000M;ibdata2:1000M:autoextend:max:800M
使用UNIX socket来运行Point-Selects测试的Sysbench命令如下(在parallel中启动8个进程):
mysqld = /usr/local/mysql/bin/mysqld_safe
CentOS6.7x86_64【2.6.32-573.el6.x86_64】
昨天突然服务器重启了,最后导致的就是Zabbix的数据库MYSQL库表坏了,然后MYSQL就启动不了了。启动不了咋整,看log呗,报什么异常情况,查看error如下:
需求:根据当前客户的生产环境,模拟安装部署一套MySQL主主+Keepalived架构的测试环境,方便后续自己做一些功能性的测试。
领取专属 10元无门槛券
手把手带您无忧上云