本文起源于有同学留言说,想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧。...MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,但也有很多公司找不到合适的DBA。...本文可以作为MySQL DBA面试官,以及候选人的双向参考 :) 面试流程:我以往做MySQL DBA面试时的流(套)程(路) 一、自我介绍 1、先自我介绍后,再让候选人花2-5分钟做下自我简介:...及InnoDB优化,讲讲自己的见解或者实践经验; 如何确定及实施MySQL高可用方案,不同方案的优缺点对比; 一定规模的MySQL自动化运维经验如何; 在SCHEMA设计方面的经验如何; 基于MySQL...这些知识对一般的DBA可能不太重要,但想要成为资深DBA或数据库架构师的话,这些知识是必不可少的。 先啰嗦说这么多吧,希望对有志成为DBA的同学有些帮助,加油加油↖(^ω^)↗
写在前面:想要流畅阅读本文,需要读者——对K8s的架构有简单了解,理解API Server扮演的角色;具有阅读简单golang源码的能力,包括函数/类方法定义...
update,insert,delete交给Master服务器;门户网站常用分布式dbproxy(读写分离,hash负载均衡,健康检查) 根据服务器拆分业务独立并分担压力:有为外部用户提供查询服务的从服务器,有DBA...权限 (mysql8.0又变化) #mysql 8.0 主从账户 CREATE USER 'rep'@'%' IDENTIFIED WITH mysql_native_password BY 'System123...mysql> create database study; Query OK, 1 row affected (0.01 sec) mysql> use study mysql> create table...A:用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录 什么时候需要记录binlog的情况?...同步 注意事项: 在 mysql5.0~5.1只在【主/从】库上面配置replication-ignore-db=mysql,才能做到主从库不同步mysql库。
mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> select * from m_test_db.M force index(IDX_USER_ID...Session A 插入数据: mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> insert into m_test_db.M values..., 1 warning (0.00 sec)mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> select * from m_test_db.M...1 warning (0.00 sec)mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> select * from m_test_db.M...mysql> commit;Query OK, 0 rows affected (0.00 sec) Session A 再查询 id=1 的记录,发现数据已经是最新的数据: mysql>
背景 作为一个 MySQL-DBA ,我自然是希望它平稳运行不要出事。一旦出事不可避免的就是连接上 MySQL 看一下发生了什么。 但是!...有一种场景我们可能根本就没能力连接上 MySQL;比如说连接用完了,当我们尝试连接时就会收到如下报错。...确认 MySQL 的进程的 PID ps -ef | grep mysqld mysql 843877 843800 3 19:48 pts/60 00:00:02 /usr/local.../mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf 3....现在应该可以连接上去了 mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g.
前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来....此文不会事无巨细的从select的用法开始讲解mysql,主要针对的是开发人员需要知道的一些MySQL的知识点,主要包括索引,事务,优化等方面,以在面试中高频的问句形式给出答案.如果您有其他的MySQL...索引相关 ---- 关于MySQL的索引,曾经进行过一次总结,文章链接在这里 Mysql索引原理及其优化. 1、什么是索引?...MySQL提供了explain命令来查看语句的执行计划,MySQL在执行某个语句之前,会将该语句过一遍查询优化器,之后会拿到对语句的分析,也就是执行计划,其中包含了许多信息....MySQL的事务隔离级别了解吗?
MySQL事务 事务存在的原因 事务存在的目的:保证用户对数据操作对数据是安全的。...避免不可重复读的方式: 重复读(RR,MySQL默认级别):就是在开始读取数据时,不允许修改操作。但会导致由于允许insert操作导致的事务结果出现不同。...MySQL锁机制 Innodb实现了两种类型的行锁:共享锁,排他锁。 共享锁和排他锁 共享锁:允许一个事务读一行,阻止其他事务获得相同数据集的排他锁,多个共享锁是可以并行的。...间隙锁的目的是为了防止幻读 innodb自动使用间隙锁的条件: 必须在RR级别下 检索条件必须有索引(没有索引的话,mysql会全表扫描,那样会锁定整张表所有的记录,包括不存在的记录,此时其他事务不能修改不能删除不能添加
我们知道MySQL所有的运行状态统计信息都能从“show global status”语句的结果集中查看,该结果集保存的是从MySQL启动到当前时间之间各状态值的“总数”,对我们的分析不友好。...其实也从“MySQL Workbench”这个图形化工具中获得了一点启发,想到做一个命令行下类似的功能。...MySQL Workbench中的dashboard中可显示如下图的统计信息,很漂亮哈~ ? ... DBA....: mysql_cur.execute('show global status') #执行语句,查询结果的每一行作为一个元组存进mysql_cur中 except
在今年数据库技术大会的时候,我在专场"DBA修炼之道”里讲了关于DBA的一些技术建议,没想到得了第三天的“最佳讲师”。奖品是有个蛮不错的音响,没事的时候在客厅放上几个曲子。...主题是“Oracle和MySQL DBA的进阶之路"。...对于Oracle DBA来说,学习MySQL的话学习周期会相对短一些,入门也比较快,但是如果要深入学习MySQL,还是很难的,因为有很多方面都需要深入理解,深入的层次是在源码级,可以做定制,而对于MySQL...DBA来说火,学习Oracle的周期会比较长,因为很多方面是MySQL不会关注,或者没有的功能,如果要深入学习Oracle,还是得有很长时间的积累,Oracle的体系太大,备份恢复,性能优化,数据迁移能够抓住几个面搞到精通就很不容易了...对于Oracle的版本规划整体而言要清晰很多,目前的主流业务还是11gR2为主,12cR1和12cR2有一个较长的时间间隔,很多DBA的印象中R2是稳定版本已根深蒂固,要改变这种思维估计在18c之后才会有大的改观
MYSQL 一直被diss的就是数据分析尤其在窗口函数这一块,相对于O , S , P三个数据库,MYSQL在这方面基本上属于空白。MYSQL 8 的到来后,这方面也有了改变。...在别的数据库上有的专门的课程 T-SQL, PLPGSQL, PLSQL等等,也是否有可能在MYSQL上,随着MYSQL8的使用,出现 M- SQL。...这样的操作在MYSQL 5.7中如果要操作的话,这是达到同样结果的写法,在MySQL 5.7 但实际上有些查询在MYSQL5.7是不能进行的。...下面这个语句的意思是,根据员工的工资进行一个排序根据每个员工的工号作为一个排序的partition by ,从这里可以看到每个员工的随着在公司工作的年限,越长,工资的涨幅和总数都是一个向上的过程,这样的复杂操作如果在MYSQL...下面这个SQL 就是相关的完成上面的工作的,如果在MYSQL上完成类似的语句,不使用这样的窗口函数,在 事实上这些也只是窗口函数的冰山一角,以上也仅仅是抛砖引玉,需要学习的东西还很多。
一、简介 数据库服务器需要CPU、内存、 磁盘和网络才能运行,了解这些资源对于DBA来说非常重要,因为任何的超载行为都可能成为限制因素,导致数据库服务器性能不佳。...DBA的主要任务就是调整系统和数据库的配置,避免可用资源的过渡利用和利用不足。 首先,性能优化是一个持续的过程,安装MySQL通常是调整操作系统和数据库配置的第一步。...一方面,在使用MySQL的时候,我们不想使用交换,除非是急需,将InnoDB缓冲池交换到磁盘将删除内存缓冲池; 另一方面,如果替代方法是启动OOM并杀死MySQL,那我们宁愿不这样做。...因此, 如果它是保持MySQL的唯一选项,建议将vm.swappiness设置为1,以允许一些交换发生。当然,这会减慢系统,但MySQL上的OOM非常苛刻。...在计算InnoDB缓冲池大小时,需要考虑其余MySQL的内存要求(假设MySQL是服务器上唯一运行的应用程序)。
数据库命名规范 所有数据库对象名称必须使用小写字母并使用下划线分割 所有数据库对象名称禁止使用mysql保留关键字 命名符合见名知意原则,且最好不要超过32个字符 临时表以tmp_为前缀并以日期为后缀,...支持事务,支持行级锁,更好的恢复性,高并发下性能更好 数据库和表的字符集统一使用UTF8 所有表和字段都需要添加注释 尽量控制单表数据量的大小,建议控制在500万以内 尽量做到冷热数据分离,减小表的宽度 MySQL
点击蓝字丨关注我们 今天给大家介绍一个非常好用的工具集--percona-toolkit,该工具集可以说是mysql dba的得力助手。...2.2 pt-archiver pt-archiver - Archive rows from a MySQL table into another table or a file....(将MySQL表中的行存档到另一个表或文件中,可以理解为归档) Usage: pt-archiver [OPTIONS] --source DSN --where WHERE eg: 将所有行从oltp_server...2.3 pt-config-diff pt-config-diff -Diff MySQL configuration files and server variables....Usage: pt-config-diff [OPTIONS] CONFIG CONFIG [CONFIG...] pt-config-diff对比MySQL配置文件和服务器变量。
empno a,ename b,sal c from emp_bak; select * from myview2; insert into myview2(a,b,c) values(…); DBA
/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --user=mysql mysql 13499 11316 13507...mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --user=mysql mysql 13499 11316 13509 0...mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --user=mysql mysql 13499 11316 13511 0..." -batch 总结一下: 本文内容比较多,给大家介绍了几个MySQL DBA(可能其他岗位同样适用)应该掌握的必备工具 strace可以用来跟踪某个线程的调用情况,例如可以适用strace跟踪客户端...住的情况,例如主从延迟特别高等 gdb可能用的不是太多,但是我认为是MySQL DBA进阶必会的技能之一,尤其是抽丝剥茧某些疑难case的时候非常有用 参考文章 https://ke.qq.com/course
如果你的公司有 DBA,那么我恭喜你,你可以无视 Mysql 运维。如果你的公司没有 DBA,那你就好好学两手 Mysql 基本运维操作,行走江湖,防身必备。...repo 文件 $ ls | grep mysql mysql-community.repo mysql-community-source.repo 更新 yum: $ yum clean all $...通过 yum 安装 mysql 有几个重要目录: # 配置文件 /etc/my.cnf # 数据库目录 /var/lib/mysql/ # 配置文件 /usr/share/mysql(mysql.server...卸载 (1)查看已安装的 mysql $ rpm -qa | grep -i mysql perl-DBD-MySQL-4.023-6.el7.x86_64 mysql80-community-release-el7...socket = /var/lib/mysql/mysql.sock pid_file = /var/lib/mysql/mysql.pid user = mysql port = 3306 default_storage_engine
云数据库的发展也给各位DBA带来一波不小的红利,技术进阶,你得懂云数据库;升职加薪,你得懂云数据库;转型管理,你还得懂云数据库。 那么,在这个属于DBA的黄金时代,我们应该怎么踏出迎接风口的第一步?...参加腾讯云数据库MySQL培训认证吧! ? 腾讯云CloudLite-云数据库MySQL认证是腾讯云数据库联合腾讯云大学发起的一款针对公有云的认证类型。...腾讯云数据库学堂认证体系图 一、腾讯云CloudLite-云数据库MySQL认证 CloudLite-云数据库MySQL认证主要讲解腾讯云MySQL产品基础知识、TXSQL内核、运维配置、备份恢复、数据库迁移等知识...三、获取MySQL认证证书 1. 参与线上培训及考试(80分通过) ? 2. 填写云数据 MySQL 证书制作信息收集表单 ? 3....云数据 MySQL 证书查收(考试通过后预计5-10个工作日完成制作) ? 文末福利 ? 礼包包含: 1. 腾讯云数据库产品专家免费直播培训课 2. MySQL实例特惠价 3.
26.mysql_fetch_array和mysql_fetch_object的区别是什么? 27.MyISAM表格将在哪里存储,并且还提供其存储格式? 28.Mysql如何优化DISTINCT?...34.mysql里记录货币用什么字段类型好 35.mysql有关权限的表都有哪几个? 36.列的字符串类型可以是什么?...26.mysql_fetch_array和mysql_fetch_object的区别是什么?...以下是mysql_fetch_array和mysql_fetch_object的区别: mysql_fetch_array() – 将结果行作为关联数组或来自数据库的常规数组返回。...35.mysql有关权限的表都有哪几个? Mysql服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。
7.选择合适的数据类型 8.char & varchar 9.Mysql字符集 10.如何选择字符集? 11.什么是索引? 12.索引设计原则? 13.MySql有哪些索引?...比如看建表的语法: mysql> ?...Merge:允许 MySQL DBA 或开发人员将一系列等同的 MyISAM 表以逻辑方式组合在一起,并作为 1 个对象引用它们。对于诸如数据仓储等 VLDB 环境十分适合。...9.Mysql字符集 mysql服务器可以支持多种字符集 (可以用show character set命令查看所有mysql支持 的字符集) ,在同一台服务器、同一个数据库、甚至同一个表的不同字段都可以指定使用不...13.MySql有哪些索引?
MySQL 8 已经有很长一段时间提供生产服务器,可还有不少企业在使用MYSQL 5.7 设置5.6 等版本的MYSQL 系统,且不少的MYSQL的DBA 对于MYSQL 的知识还停留在MYSQL5.7...并不愿意将知识更新到MYSQL8 ,MYSQL知识快速更新的过程中淘汰这样的DBA 是容易的事情。...后面这个可能会做一个系列,不断对比MYSQL5.6 5.7 和 MYSQL8.0 之间的差异,今天我们来说说mysql 8 的一些与核心有关在MYSQL8 变动的系统变量和参数。...,在你设置后,并重启MYSQL 将临时表的表空间设置到你指定的磁盘位置和目录。...默认这里是50 innodb_redo_log_archive_dirs 在8.017 的MySQL 开始对于物理数据库的副本进行了改动,怎么快速产生一个MYSQL的副本,而不是在用BINLOG 来进行工作
领取专属 10元无门槛券
手把手带您无忧上云