为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
linux-mysql的安装与使用(MySQL Community Server 8.0.15)
记录一次使用MySQL Yum repository安装mysql server的过程,使用yum 方式进行安装非常的简单和方便
0、由于MariaDB和MySQL的渊源颇深,若系统中原来有MariaDB,要提前删除掉,避免安装失败或产生其他不兼容性问题
搜索mariadb
#rpm -qa | grep maria*
发现mariadb删除掉
#rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
1、在官网下载yum repository安装文件 https://dev.mysql.com/downloads/repo/yum/
选择适合系统的版本,本次安装使用的是centos7
2、下载文件并上传到服务器(或者获取文件连接,在服务器直接用wget下载)
这里我是用wget下载文件到/user/local/mysql目录下
3、安装mysql的仓库文件(下面安装过程可以参照官网https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/)
#rpm -Uvh mysql80-community-release-el7-2.noarch.rpm
4、查看yum repository mysql源信息
#yum repolist all | grep mysql
可以看到mysql源里面包含55、56、57、80版本的信息,默认80是enabled,其他版本是disabled。
也就是说默认安装会安装当前最新版本的mysql server
5、可以使用yum-config-manage disable某个版本和enable某个版本(如果找不到命令,先执行该命令# yum -y install yum-utils)
例如想安装mysql5.7,禁掉80,打开57
#yum-config-manager --disable mysql80-community
#yum-config-manager --enable mysql57-community
或者直接更改/etc/yum.repos.d/mysql-community.repo文件
6、安装mysql 服务
#yum install mysql-community-server
7、安装完成信息片段
8、修改配置文件(如果有需要,不然可以保持默认)
#vim /etc/my.cnf
可以修改端口号、表名大小写敏感、sql模式等。
注意:lower_case_table_names只支持在初始化数据库之前修改,如果数据库已经初始化完毕,再修改不起作用,并且数据库服务也无法启动
解决办法:停掉运行的MySQL进程删除数据目录下的文件,启动服务并重新初始化(有数据要记得先备份,备份,备份)
#systemctl stop mysqld
#rm -rf /var/lib/mysql/*
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# 设置mysql认证插件,默认caching_sha2_password,现在很多客户端不支持,导致无法连接
default-authentication-plugin=mysql_native_password
# 设置mysql端口号,默认是3306,这里修改成了3386
port = 3386
#lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
#lower_case_table_names=1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的
## 默认值是0,为了与开发环境兼容,这里修改成了1
lower_case_table_names=1
#默认有更多的限制,为了与开发环境兼容,做了调整
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
9、启动服务并查看状态
第一次启动服务,数据库会初始化数据,生成临时密码
#systemctl start mysqld
10、临时密码
在mysql的日志文件中找到初始化时生成的临时密码
直接打开日志文件,找到temporary password
#vim /var/log/mysqld.log
或者进行内容搜索更方便
cat /var/log/mysqld.log | grep password
11 、使用临时密码登陆mysql
#mysql -uroot -p
12、修改密码,并让数据库可以远程访问
临时密码登陆后,权限受限,必须修改密码才能做进一步的操作
因为当前密码策略的限制,还不能设置简单的密码
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Test@1234’;
注意: 若在配置文件中没有指定mysql认证插件为mysql_native_password,可以在修改密码的时候显示指定认证插件,即
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘Test@1234’;
刷新权限
FLUSH PRIVILEGES;
查看数据库
show databases;
选择数据库
use mysql;
查看当前数据库表
show tables;
查看user表host、user字段
select host,user from user;
修改root用户的host
update user set host=’%’ where user=‘root’;
再次查看user表host、user字段
select host,user from user;
刷新用户权限
FLUSH PRIVILEGES;
13、尝试远程连接
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
料:
[外链图片转存中…(img-US4D14gh-1715774245032)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!