mariadb

mysql通过source恢复大表小记

浪子不回头ぞ 提交于 2020-02-28 15:11:08
最近迁移一个数据库,500多张表大概600多万条数据,通过navicat导出的数据,再通过source命令导入到mysql8.0 之前也做过类似的工作,但是却从来没有这么慢过,一个小时了还没有完成,之前在笔记本上做相同的数据量大概也就5分钟搞定,不过笔记本上跑的是mariadb,也做过其他机器的试验,都是mysql5.*。猜测的原因一是目标机的mysql8.0做了主备,redo.log太厉害一直在写,二是数据导出的方式不对,或许应该用mysqldump加参数优化一下。通过查看系统资源占用情况,mysql并没有占用多高,系统相对来说很空闲,机器性能也完全够用。稍后查日志分析下原因 来源: oschina 链接: https://my.oschina.net/u/2422458/blog/3052400

如何在MySQL中执行正则表达式替换?

限于喜欢 提交于 2020-02-28 09:27:14
我有一张约有50万行的表格; varchar(255)UTF8列 filename 包含一个文件名; 我正在尝试从文件名中去除各种奇怪的字符-以为我会使用字符类: [^a-zA-Z0-9()_ .\\-] 现在, MySQL中是否有一个函数可以让您通过正则表达式进行替换 ? 我正在寻找与REPLACE()函数类似的功能-简化示例如下: SELECT REPLACE('stackowerflow', 'ower', 'over'); Output: "stackoverflow" /* does something like this exist? */ SELECT X_REG_REPLACE('Stackoverflow','/[A-Zf]/','-'); Output: "-tackover-low" 我知道 REGEXP / RLIKE ,但这些只有 在 有一个匹配检查,没有与之匹配的是 什么 。 (我 可以 从PHP脚本中执行“ SELECT pkey_id,filename FROM foo WHERE filename RLIKE '[^a-zA-Z0-9()_ .\\-]' ”,执行 preg_replace ,然后“ UPDATE foo ... WHERE pkey_id=... “,但这看起来像是最后手段缓慢而丑陋的骇客) #1楼 您可以“做到”…

tar.gz包内提取某个文件在指定目录下。

心不动则不痛 提交于 2020-02-28 06:22:53
想试试不解压从tar.gz包内提取某个文件到指定目录下,百度来的全是一个模板,没有示例,根本莫名其妙。经自己测试才算明白。 百度来的方法 tar包 tar tvf yourtarfile |grep fileyouwant, tar xvf yourtarfile fileyouwant(copy上面的全路径用绝对路径) tar.gz包 tar ztvf yourtargzfile |grep fileyouwant, tar zxvf yourtarfile fileyouwant(copy上面的全路径用绝对路径) 思路就是先查出文件路径,再解压。但是上面的“全路径用绝对路径”是个什么鬼,经过折腾才算明白。先看操作过程。 [root@fengzw test]# pwd /root/test [root@fengzw test]# ls mariadb-10.4.12.tar.gz [root@fengzw test]# tar -tzvf mariadb-10.4.12.tar.gz | grep CMakeLists.txt ..... -rw-rw-r-- buildbot/buildbot 17932 2020-01-27 04:43 mariadb-10.4.12/CMakeLists.txt ...... [root@fengzw test]# tar -zxvf

Ansible个人学习roles使用实践(mariadb安装)

坚强是说给别人听的谎言 提交于 2020-02-28 03:45:18
role用法 角色(roles)是用于层次性,结构化地组织playbook,roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中、并可以便捷地include他们的一种机制。 一、role的层级目录结构 role是以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等; roles/ role_name/:定义的role的名字 file/: 用于存放copy或script等模块调用的函数 tasks/: 用于定义各种task,此目录一定要有main.yml;其他文件需要main.yml包含调用 handlers/: 用于定义各种handlers,此目录一定要有main.yml;其他文件需要main.yml包含调用 vars/: 用于定义variables,此目录一定要有main.yml;其他文件需要main.yml包含调用 templates/:存储由template模块调用的模板文本; meta/: 定义当前角色的特殊设定及其依赖关系,此目录中至少应该有一个名为main.yml的文件;其它的文件需要由main.yml进行"包含"调用; default/: 此目录中至少应该有一个名为main.yml的文件,用于设定默认变量; 目录解释: group_vars:全局变量 yml文件

centos7下常用环境配置

心已入冬 提交于 2020-02-28 03:12:17
编译安装python3.6的步骤 1.下载python3源码包 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 2.下载python3编译的依赖包(复制粘贴) yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y 3.解压缩源码包 tar -xvf Python-3.6.2.tgz 4.进入源码包文件夹 cd Python-3.6.2 5.编译且安装 1.进入源码包目录 2. ls查看源码包内容 3. 释放编译文件 Makefile ./configure --prefix=/opt/python36/ --prefix 这个参数 是制定一个安装路径 4.编译 make 5.编译安装,此步才会最终生成 /opt/python36/ make install 6.进入/opt目录查看python36文件夹,我们要的python3都在这里了 cd /opt/ ls 6.更改linux的path变量

WordPress性能优化

江枫思渺然 提交于 2020-02-28 00:46:51
自写博客以来,本人一直用WordPress做建站程序。有人肯定会问,都2020年了,为什么还用WordPress,不用Hexo、Jekyll、Github Pages、Medium呢?个人认为主要是WordPress的主题/插件系统太牛逼,从而开发者、用户众多,许多想要的功能,点点鼠标装上插件就实现了,因此生态非常完善,远超其他建站程序。 用了这么久的WordPress,对WordPress的性能优化也有了不少的经验。目前本站峰值PV 3万,峰值IP 1.6万,alexa排名大概15-18万之间,运行在阿里云1核2G 峰值100m带宽的 t5突发性能实例 上,平均cpu使用率在10%以下,内存占用基本不超过1G,非常平稳: 一直用这么低配的机器跑访问量过万的网站,底气来源于本人对WordPress和服务器做了如下优化: 1. 运行最新版的操作系统及软件。最新版的操作系统、软件不仅修复安全bug,还有明显的性能提升。托管本站vps的操作系统是运行5.5内核的CentOS 7(刚买时CentOS 8还未发布,不然肯定上8),启用BBR模块、从remi源安装php 7.4、redis 5最新版、从Nginx、MariaDB官方源安装的最新版Nginx、MariaDB; 2. php启用opcache模块,session存储到redis,nginx和php-fpm通过unix

centos7 挂载新硬盘并修改mariadb的存放路径

若如初见. 提交于 2020-02-27 07:59:28
环境 CentOS7.4 mariadb 5.5 原则上yum安装的mariadb都可以 因为/var/lib/mysql 和/etc/my.cnf的路径都是一样的 之所以要进行这个操作时因为zabbix的历史问题日志把磁盘写满了,只能新加一个硬盘把mysql存放路径改一改 -----------------------------------------------------------分割线------------------------------------------------------------------------------------------------ 我这个是已经挂载好了,但是步骤都是一样的 首先添加一个硬盘, 查看 fdisk -l [root@sm-zabbix mysql]# fdisk -l Disk /dev/sda: 128.8 GB, 128849018880 bytes, 251658240 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos

Mariadb(mysql)配置文件(如/etc/my.cnf)配置选项组及配置文件的正确性测试分析

给你一囗甜甜゛ 提交于 2020-02-27 02:33:24
Mariadb(mysql)配置文件(如/etc/my.cnf)配置选项组及配置文件的正确性测试分析 配置文件规范: 1.[mysqld_safe]组优先级最高,只要该组能够支持配置的参数与其他任何组中的参数冲突,那么都会以该组为准,如error-log 2.各个组之间的参数,如果某个命令或进程启动后,如mysqld启动命令,有可能加载很多组,如mariadb会加载[mysqld][server][mariadb]等,那么如果这些组之间都定义了相同的参数,比如都定义了error-log,那么以最后一次定义的那个为准,即后面的覆盖前面的。且mysqld服务启动的时候,也可能有多个配置文件,如通过!include引入文件,规范也是一样,如果有2个相同的选项参数被加载,那么后面的覆盖前面的(注意是选项覆盖,不是整个组被覆盖,一个同名的选项组可以出现多次)。 3.各个group都有自己支持的配置参数的定义列表,详细请参加mariadb的官方文档。 地址:https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#client-option-groups 4.其他规则(来自官网):Option File Syntax The syntax of the MariaDB option files are: • Lines

CentOs安装MySQL 5.7

戏子无情 提交于 2020-02-27 01:58:08
安装 MySQL5.7 安装MySQL 1 、下载安装包 下载地址 https://dev.mysql.com/downloads/mysql/5.7.html 选择如下选项 下载64位版本 2 、卸载系统自带的Mariadb 查询出已安装的mariadb,执行如下命令: rpm -qa|grep mariadb 通过上面的命令如果查询已经安装了mariadb,执行如下命令卸载: yum -y remove 文件名 (注:文件名为用上面命令查出的名称) 3 、删除etc目录下的my.cnf文件,如果存在。 rm /etc/my.cnf 4 、 执行以下命令来创建mysql用户组 groupadd mysql 5 、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组 useradd -g mysql mysql 6 、将下载的二进制压缩包上传至 /usr/local 目录下 7 、解压安装包,命令: tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 8 、将解压好的文件夹重命名为mysql,命令: mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql 9 、进入重命名以后的mysql目录,命令: cd /usr/local/mysql 10 、创建 data 目录,命令:

CentOs安装MySQL 5.6

时光毁灭记忆、已成空白 提交于 2020-02-27 01:30:14
安装 MySQL5.6 安装MySQL 1 、下载安装包 下载地址 https://dev.mysql.com/downloads/mysql/5.6.html 选择如下选项 下载64位版本 2 、卸载系统自带的Mariadb 查询出已安装的mariadb,执行如下命令: rpm -qa|grep mariadb 通过上面的命令如果查询已经安装了mariadb,执行如下命令卸载: yum -y remove 文件名 (注:文件名为用上面命令查出的名称) 3 、删除etc目录下的my.cnf文件,如果存在。 rm /etc/my.cnf 4 、 执行以下命令来创建mysql用户组 groupadd mysql 5 、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组 useradd -g mysql mysql 6 、将下载的二进制压缩包上传至 /usr/local/ 目录下。 7 、解压安装包,命令: tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz 8 、将解压好的文件夹重命名为mysql,命令: mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql 9 、在etc下新建配置文件my.cnf,并在该文件内添加以下代码: [mysql] # 设置mysql客户端默认字符集