本文起源于有同学留言说,想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧。...MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,但也有很多公司找不到合适的DBA。...本文可以作为MySQL DBA面试官,以及候选人的双向参考 :) 面试流程:我以往做MySQL DBA面试时的流(套)程(路) 一、自我介绍 1、先自我介绍后,再让候选人花2-5分钟做下自我简介:...及InnoDB优化,讲讲自己的见解或者实践经验; 如何确定及实施MySQL高可用方案,不同方案的优缺点对比; 一定规模的MySQL自动化运维经验如何; 在SCHEMA设计方面的经验如何; 基于MySQL...这些知识对一般的DBA可能不太重要,但想要成为资深DBA或数据库架构师的话,这些知识是必不可少的。 先啰嗦说这么多吧,希望对有志成为DBA的同学有些帮助,加油加油↖(^ω^)↗
update,insert,delete交给Master服务器;门户网站常用分布式dbproxy(读写分离,hash负载均衡,健康检查) 根据服务器拆分业务独立并分担压力:有为外部用户提供查询服务的从服务器,有DBA...-uroot -p'System123@' -S /data/3307/mysql.sock < /opt/rep.sql #登录执行 mysql > CHANGE MASTER TO MASTER_HOST...服务器环境与多台数据库环境,或者单台多实例环境,测试正常启动和登录; 配置数据库的my.cnf配置文件,主库(log-bin,server-id),从库(server-id),注意一般不开启从库的log-bin...,配置参数后需要重启生效; 登录主库增加用于从库连接主库同步的账号例如:rep并授权replication slave 同步权限; 登录Master,整库锁表flush table with read...同步 注意事项: 在 mysql5.0~5.1只在【主/从】库上面配置replication-ignore-db=mysql,才能做到主从库不同步mysql库。
写在前面:想要流畅阅读本文,需要读者——对K8s的架构有简单了解,理解API Server扮演的角色;具有阅读简单golang源码的能力,包括函数/类方法定义...
背景 作为一个 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> 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所有的运行状态统计信息都能从“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上完成类似的语句,不使用这样的窗口函数,在 事实上这些也只是窗口函数的冰山一角,以上也仅仅是抛砖引玉,需要学习的东西还很多。
今天说一说Linux登录Mysql,希望能够帮助大家进步!!! 在Linux登录Mysql主要有: 1....登录本地mysql: mysql -u 用户名 -p # 例如 mysql -u root -p #先输入,回车 # 也可不用空格 mysql -u用户名 -p 然后提示输入密码,回车即可; 2....登录远程mysql:有主机名和端口号,有时也没有端口号 此代码由Java架构师必看网-架构君整理 mysql -h 主机 -P 端口 -u 用户名 -p #也可不用空格 mysql -h主机 -P端口
MySQL默认是没有密码的,为了安全,所以需要手动设置密码,操作过程如下 没有密码是设置密码: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2VyWrQhu-1646491085519...root密码,修改完成后,需要将本行注释掉 #port port=3306 #set basedir to your install path basedir=C:\\Program Files\\mysql...-5.7.31-winx64 #set datedir to your path datadir=C:\\Program Files\\mysql-5.7.31-winx64\\data (2)停止数据库...,再开启数据库 net stop mysql;net start start mysql (3)再进行登录,能够无密码登录 (4)进入数据后,再次修改密码 user mysql; update...authentication_string = password(“新密码”),password_last_changed=now() where user=“root”; (5)改回配置文件 (5)再重启数据库,再是使用新密码登录即可
一、简介 数据库服务器需要CPU、内存、 磁盘和网络才能运行,了解这些资源对于DBA来说非常重要,因为任何的超载行为都可能成为限制因素,导致数据库服务器性能不佳。...DBA的主要任务就是调整系统和数据库的配置,避免可用资源的过渡利用和利用不足。 首先,性能优化是一个持续的过程,安装MySQL通常是调整操作系统和数据库配置的第一步。...一方面,在使用MySQL的时候,我们不想使用交换,除非是急需,将InnoDB缓冲池交换到磁盘将删除内存缓冲池; 另一方面,如果替代方法是启动OOM并杀死MySQL,那我们宁愿不这样做。...因此, 如果它是保持MySQL的唯一选项,建议将vm.swappiness设置为1,以允许一些交换发生。当然,这会减慢系统,但MySQL上的OOM非常苛刻。...在计算InnoDB缓冲池大小时,需要考虑其余MySQL的内存要求(假设MySQL是服务器上唯一运行的应用程序)。
pread64 -p `pidof mysqld` 示例: strace -o /tmp/strace.log -T -tt -ff -p `pidof mysqld` #然后在本地通过socket登录执行命令...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
empno a,ename b,sal c from emp_bak; select * from myview2; insert into myview2(a,b,c) values(…); DBA...一对一设计方案一:主键共享 t_user_login 用户登录表 Id(pk) username password t_user_detail 用户详细信息表 Id(pk+fk) realname...t_user_login 用户登录表 Id(pk) username password t_user_detail 用户详细信息表 Id(pk) realname tel userid(fk+unique
数据库命名规范 所有数据库对象名称必须使用小写字母并使用下划线分割 所有数据库对象名称禁止使用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配置文件和服务器变量。
如果你的公司有 DBA,那么我恭喜你,你可以无视 Mysql 运维。如果你的公司没有 DBA,那你就好好学两手 Mysql 基本运维操作,行走江湖,防身必备。...通过 yum 安装 mysql 有几个重要目录: # 配置文件 /etc/my.cnf # 数据库目录 /var/lib/mysql/ # 配置文件 /usr/share/mysql(mysql.server...BY '你的密码'; FLUSH PRIVILEGES; 跳过登录认证 vim /etc/my.cnf 在 [mysqld] 下面加上 skip-grant-tables 作用是登录时跳过登录认证,换句话说就是...root 什么密码都可以登录进去。...进入 mysql 命令控制台: $ mysql -u root -p Password: 执行以下 SQL: -- 创建 slave1 用户,并指定该用户只能在主机 192.168.8.11 上登录
【重学 MySQL】七、MySQL的登录 MySQL 服务的启动与停止 MySQL服务的启动与停止是数据库管理中的基本操作。...MySQL 自带客户端的登录与退出 MySQL 自带客户端的登录与退出是数据库管理中的基本操作。...输入密码后,如果认证成功,你将登录到 MySQL 服务器,并看到 MySQL 的命令行提示符(通常是 mysql>)。...如果 MySQL 服务没有运行,你将无法登录到 MySQL 服务器。在这种情况下,你需要先启动 MySQL 服务。...在登录时,请确保输入的用户名和密码是正确的,否则你将无法成功登录到 MySQL 服务器。 如果你忘记了密码,你可能需要重置密码才能登录到 MySQL 服务器。
前言 如需查看MySQL的登录日志,首先要确认开启了general_log general_log会记录所有的SQL操作,一般不建议开启。...查看登录日志信息 tail -f xxxxxx.log | grep "Connect" 开启general_log set global general_log=on;