要确保mysql 数据库的 datadir是清空的,否则会报错 [root@slave02 data]# cat restore.log nohup: ignoring input Warning: /usr/bin/innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 306a2e0 ) Original data directory /var/lib/mysql is not empty! ) Original data directory /var/lib/mysql is not empty! 开头的文件 如: .bash_history .lesshst .mysql_history .viminfo 要指明删,如 rm -rf .bash_history .lesshst .mysql_history
要确保mysql 数据库的 datadir是清空的,否则会报错 [root@slave02 data]# cat restore.log nohup: ignoring input Warning: /usr/bin/innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 306a2e0 ) Original data directory /var/lib/mysql is not empty! ) Original data directory /var/lib/mysql is not empty! 开头的文件 如: .bash_history .lesshst .mysql_history .viminfo 要指明删,如 rm -rf .bash_history .lesshst .mysql_history
2.知识 性能优化是通过合理安排资源,调整MySQL参数,服务器环境等手段使得MySQL 运行更快,更节省资源。 常见的优化方法: 查询优化 数据库表结构设计优化 MySQL所在的服务器优化 可以从多个方面进行性能优化,原则是 尽量减少系统的瓶颈,减少资源的占用,加快系统的响应速度。 比如: 优化系统的文件系统,以提高磁盘I/O的读写速度; 优化操作系统调度策略,以提高MySQL在高负荷情况下的负载能力; 优化表结构,索引,查询语句使得查询的响应更快。 它虽然很灵活,但执行效率不高,MySQL 需要未内层查询语句的查询结果建立一个临时表,然后外层的查询语句从临时表里再次查询。查询完毕后,销毁这些临时表。 优化 MySQL 服务器 硬件优化 配置较大内存 配置高速磁盘 合理分布磁盘I/O 多处理器等 优化MySQL配置文件的参数 MySQL配置参数在my.cnf , my.ini 文件中,根据经验修改参数达到优化目的
mysql的事务默认是自动提交的,也就是说,当执行一条DML语句,Mysql会立即隐式的提交事务 二、事务操作 2.1 查看事务提交方式 select@@autocommit; 2.2 设置事务提交方式 | serializable}; 说明1:session :设置仅对当前对话起作用 说明2:global :设置对全局都有用 六、事务的演示 6.1 案例使用的accout表结构及数据 mysql 在进行异常展示之前,先把数据恢复成各自2000的余额 mysql> update account set money=2000; Query OK, 2 rows affected (0.02 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> select * from account; +----+--------+-------+ | id 6.4 案例3 使用事务完成,首先同样也是先还原数据,每个人的余额都是2000元 mysql> select * from account; +----+--------+-------+ |
二、分类 MySQL中的锁、按照锁的粒度分,分为以下三类 全局锁:锁定数据量的所有表 表级锁:每次操作锁住整张表 行级锁:每次操作锁住对应的行数据 三、全局锁 3.1 简介 全局锁就是对整个数据库实例枷锁 执行查询语句正常的,但是执行DML语句中的更新操作却是处于阻塞状态 3.5 案例二 说明1:客户端1中设置了全局锁 说明2:客户端3中做了数据库备份的语句,其中mysqldump是和mysql 一样由MySQL服务器提供的数据库备份的命令 说明3:当数据库设置了全局锁的时候,不影响数据库的备份 说明4:MySQL备份实在终端命令行模式下,不是在数据库命令模式下,注意! MDL锁主要作用是维护表元数据的数据一致性,在表上有活动事务的时候,不可以对元数据进行写入操作,为了避免DML和DDL冲突,保证读写的正确性 6.2 元数据锁的类型 在MySQL5.5 中引入了 说明9:InnoDB的行锁是针对于索引加的锁,不通过索引检索数据,那么InnoDB将对表中的所有记录加锁,此时就会升级为表锁 说明10:根据业务需要,尽量使用索引当所查询条件,既快又减少阻塞
1、作用使用MySQL ALTER命令,来修改数据表名或者修改数据表字段。
Q3: MySQL用户密码加密插件 You recently upgraded your MYSQL installation to MYSQL8.0 Examine this client error C)修改用户认证为 mysql_native_password 正确:mysql_native_password 是 MySQL 5.7 及更早版本的默认插件,兼容性广,无需额外插件文件。 选项解析 1.1 MySQL Installer 的核心功能(正确选项) 选项 D(执行产品升级): MySQL Installer 支持对已安装的 MySQL 产品进行升级。 选项 E(安装大部分 Oracle MySQL 产品): MySQL Installer 能够安装 Oracle 提供的多种 MySQL 产品,包括: 核心组件:MySQL Server、MySQL Router 、MySQL Shell 等; 开发工具:MySQL Workbench、MySQL for Visual Studio; 连接器:MySQL Connector/ODBC、Connector/Python
MySQL关闭,kill还是kill -9? 某一天的中午,测试了MySQL关闭的一个小场景,简单分析一下。 使用kill命令还是kill -9 命令???这俩命令有啥区别???我们一起看一下。 再来看kill -9 命令 [root@yeyz ~]# ps -ef|grep mysql root 23051 22820 00:00:00 /bin/sh /usr/local/mysql --socket=/data1/mysql_4307/tmp/mysql.sock --port=4307 # 手工kill [root@yeyz ~]# kill -9 24141 [root@yeyz 从上面的描述,结合之前的知识储备,我们不难总结: kill mysqld进程,本身是优雅、安全退出mysql的一种方法,所以mysqld_safe认为这个操作是被允许的; 相反,kill -9 mysqld
Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html reverse 的作用 将字符串反转,即顺序取反 reverse 的语法格式
9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段 条件查询 可以在where子句中指定任何条件 可以使用 and 或者 or 指定一个或多个条件 where条件也可以运用在update和delete语句的后面 where子句类似程序语言中if条件,根据mysql +---------+ -- 统计 users 表中的数据量 select count(*) from users; +----------+ | count(*) | +----------+ | 9 | +----------+ select count(id) from users; +-----------+ | count(id) | +-----------+ | 9 | +-------- rows in set (0.00 sec) -- 如果按照sex这一列进行统计,结果就是8个而不是9个,因为sex这一列中有NULL值存在 mysql> select count(sex) from
模块: 防止仓库冲突 sudo dnf module disable -y mysql 第2阶段:开始安装 4.下载 MySQL 的 RPM wget https://dev.mysql.com/get /mysql84-community-release-el9-1.noarch.rpm 可以去MySQL官网查看自己想要下载的连接:https://dev.mysql.com/downloads/repo /yum/ 5.安装仓库 RPM 包 sudo dnf install -y mysql84-community-release-el9-1.noarch.rpm 6.验证仓库启用状态 sudo dnf 添加--nogpgcheck参数,避免遇到 GPG 密钥验证失败 8.启动 MySQL 服务 sudo systemctl start mysqld 9.设置开机自启 sudo systemctl enable sudo netstat -tuln | grep 端口号 16.如果是云服务器,记得打开安全组端口,才可以被外部访问~ 其他相关文档: OpenCloudOS9快速安装Docker
mysqld" --prepare --target-dir=/data/fullbackup/2015-10-12_15-24-06 xtrabackup version 2.2.12 based on MySQL InnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Apply batch completed InnoDB: In a MySQL replication slave the last master binlog file InnoDB: position 0 221675975, file name mysql-bin.000238 InnoDB: Last MySQL binlog file position 0 1509223, file name mysql-bin.000009 InnoDB: 128 rollback segment
MySQL性能优化策略 1、MySQL内核架构 2、索引原理与查询优化 加速MySQL高效查询数据的数据结构 二分查找(binary search) 二叉树查找(binary tree search) InnoDB MyISAM索引文件(.MYI)、数据文件(MYD) 1)所有的索引都是对等的 2)KEY 4、内存使用考量 5、分布式缓存Cache Redis、Memcached是最流行的分布式缓存 MySQL 、读写分离 主从复制 1)读写分离对负载的减轻远远不如分库分表来的直接 2)写压力会传递给从表,只读从库一样有写压力,一样会产生读写锁 3)负载均衡主要使用分库方案,主从主要用于热备和故障转移 MySQL Cluster:高可用 1)同步复制 2)自动故障切换 3)自我修复 4)无共享架构,无单点故障 5)跨地域复制 9、分库分表、分片Sharding策略 分片Sharding策略,MySQL
CentOS 已死”觉得自CentOS 8.5以后再没必要使用CentOS了,可是我看过一篇《CentOS Stream 是稳定的 | 观点》,觉得很有道理,于是用了一段时间CentOS Stream9。 前端时间因为需要安装了mysql5.7,又想用8.4LTS,网上找了很多资料都是安装在centos7的,centos8的都很少,而stream9因为取消了init.d变的又不太一样,所以经过一番折腾有了这篇 CentOS Stream9MySQL安装手记。 希望对想用CentOS Stream 9的你有所帮助。 如需转载请著名出处。 CentOS Stream 9使用libncurses6,而且不支持yum install安装旧版,但是libncurses6是兼容5的。
varchar(10) comment '课程名称' )comment '课程表'; insert into course values (null,'Java'),(null,'PHP'),(null,'MySQL
大家好,我是冰河~~ 今天是《MySQL核心知识》专栏的第9章,今天为大家系统的讲讲MySQL中的函数,希望通过本章节的学习,小伙伴们能够举一反三,彻底掌握MySQL中的函数知识。 ”并不删除,结果为 xboxyokx 8、重复生成字符串的函数REPEAT(S,N) 这个函数跟SQLSERVER里的**REPLICATE()**函数是一样的,参数个数都是一样的,这里不作介绍了 9、 的字符排列方式 SELECT COLLATION(_latin2 'abc'),COLLATION(CONVERT('abc' USING utf8)) 可以看到,使用不同字符集时字符串的排列方式不同 9、 DECIMAL、SIGNED、UNSIGNED 在SQLSERVER里也是使用这两个函数进行数据类型转换的~ SELECT CAST(100 AS CHAR(2)),CONVERT('2013-8-9 12:12:12',TIME) 可以看到, CAST(100 AS CHAR(2))将整数数据100转换为带有2个显示宽度的字符串类型,结果为10 CONVERT('2013-8-9 12:12:12
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 like应该是最常用的查询条件了 必须滴掌握! binary关键字的话,大小写是不敏感的 注意头部、尾部多余的空格: 是不会匹配到“test1”的 " test% " 注意NULL:通配符是不能匹配到字段为NULL的记录的 不要过度使用通配符:因为Mysql
前情提要 实验环境 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 binlog模式采用row模式 前面的一些章节我们对mysqldump常用命令进行了讲解 这个专题的内容为mysqlbinlog 命令的详解 mysqlbinlog是MySQL中用来处理binlog的工具 这节内容讲使用mysqldump备份MySQL 下节使用mysqlbinlog 恢复MySQL 1. /data/mysql.sock -usystem -ppassword flush-logs mysqlbinlog --read-from-remote-server --host 11.12.14.29 --user system --password --port 3306 --protocol=tcp --raw mysql-bin.000001 mysql-bin.000002 mysql-bin 参考链接 https://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html 好了 今天的内容就说到这里,下节再见
一、环境 MySQL版本:5.7.34 ShardingSphere-Proxy:5.1.2 MySQL客户端与tpcc-mysql:172.18.16.156 ShardingSphere-Proxy w_street_1 varchar(20), w_street_2 varchar(20), w_city varchar(20), w_state char(2), w_zip char(9) d_street_1 varchar(20), d_street_2 varchar(20), d_city varchar(20), d_state char(2), d_zip char(9) c_street_1 varchar(20), c_street_2 varchar(20), c_city varchar(20), c_state char(2), c_zip char(9) 生成数据 cd tpcc-mysql-master .
Oracle 与 MySQL 的差异分析(9):事务 1 自动提交 1.1Oracle 默认不会自动提交,需要显式的提交或回滚。如果断开连接时有未提交事务,客户端工具一般可以配置自动提交或回滚。 1.2 MySQL InnoDB支持事务,默认是自动提交的。 2.2 MySQL 不同引擎使用不同的锁级别,InnoDB默认也是行锁,但是它锁定的是索引条目,这一点与Oracle显著不同,如果没有通过索引来更新数据的话,那么就会锁定整个表。 3.2 MySQL InnoDB默认事务隔离级别是Repeatable,其它几种也支持。 4.2 MySQL MySQL数据库参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报超时错误。