【干货】Linux运维跳槽必备的30道面试精华题(上)( 四 )


17
如何重置mysqlroot密码?
一、在已知MYSQL数据库的ROOT用户密码的情况下 , 修改密码的方法:
1、在SHELL环境下 , 使用mysqladmin命令设置:
mysqladmin–uroot–ppassword“新密码”回车后要求输入旧密码
2、在mysql>环境中,使用update命令 , 直接更新mysql库user表的数据:
Updatemysql.usersetpassword=password(‘新密码’)whereuser=’root’;
flushprivileges;
注意:mysql语句要以分号”;”结束
3、在mysql>环境中 , 使用grant命令 , 修改root用户的授权权限 。
grantallon*.*toroot@’localhost’identifiedby‘新密码’;
二、如查忘记了mysql数据库的ROOT用户的密码 , 又如何做呢?方法如下:
1、关闭当前运行的mysqld服务程序:servicemysqldstop(要先将mysqld添加为系统服务)
2、使用mysqld_safe脚本以安全模式(不加载授权表)启动mysqld服务
/usr/local/mysql/bin/mysqld_safe--skip-grant-table&
3、使用空密码的root用户登录数据库 , 重新设置ROOT用户的密码
#mysql-uroot
Mysql>Updatemysql.usersetpassword=password(‘新密码’)whereuser=’root’;
Mysql>flushprivileges;
18
lvs/nginx/haproxy优缺点
Nginx的优点是:
1、工作在网络的7层之上 , 可以针对http应用做一些分流的策略 , 比如针对域名、目录结构;它的正则规则比HAProxy更为强大和灵活 , 这也是它目前广泛流行的主要原因之一;Nginx单凭这点可利用的场合就远多于LVS了 。
2、Nginx对网络稳定性的依赖非常小 , 理论上能ping通就就能进行负载功能 , 这个也是它的优势之一;相反LVS对网络稳定性依赖比较大 , 这点本人深有体会 。
3、Nginx安装和配置比较简单 , 测试起来比较方便 , 它基本能把错误用日志打印出来 。 LVS的配置、测试就要花比较长的时间了 , LVS对网络依赖比较大 。
4、可以承担高负载压力且稳定 , 在硬件不差的情况下一般能支撑几万次的并发量 , 负载度比LVS相对小些 。
5、Nginx可以通过端口检测到服务器内部的故障 , 比如根据服务器处理网页返回的状态码、超时等等 , 并且会把返回错误的请求重新提交到另一个节点 , 不过其中缺点就是不支持url来检测 。 比如用户正在上传一个文件 , 而处理该上传的节点刚好在上传过程中出现故障 , Nginx会把上传切到另一台服务器重新处理 , 而LVS就直接断掉了 。 如果是上传一个很大的文件或者很重要的文件的话 , 用户可能会因此而不满 。
6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件 , 它同时也是功能强大的Web应用服务器 。
LNMP也是近几年非常流行的web架构 , 在高流量的环境中稳定性也很好 。
7、Nginx现在作为Web反向加速缓存越来越成熟了 , 速度比传统的Squid服务器更快 , 可考虑用其作为反向代理加速器 。
8、Nginx可作为中层反向代理使用 , 这一层面Nginx基本上无对手 , 唯一可以对比Nginx的就只有lighttpd了 。 不过lighttpd目前还没有做到Nginx完全的功能 , 配置也不那么清晰易读 , 社区资料也远远没Nginx活跃 。
9、Nginx也可作为静态网页和图片服务器 , 这方面的性能也无对手 。 还有Nginx社区非常活跃 , 第三方模块也很多 。
Nginx的缺点是:
1、Nginx仅能支持http、https和Email协议 , 这样就在适用范围上面小些 , 这个是它的缺点
2、对后端服务器的健康检查 , 只支持通过端口来检测 , 不支持通过url来检测 。 不支持Session的直接保持 , 但能通过ip_hash来解决 。
LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器 。 它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)
LVS的优点是:
1、抗负载能力强、是工作在网络4层之上仅作分发之用 , 没有流量的产生;这个特点也决定了它在负载均衡软件里的性能最强的 , 对内存和cpu资源消耗比较低
2、配置性比较低 , 这是一个缺点也是一个优点 , 因为没有可太多配置的东西;所以并不需要太多接触 , 大大减少了人为出错的几率
3、工作稳定 , 因为其本身抗负载能力很强 , 自身有完整的双机热备方案;如LVS+Keepalived , 不过我们在项目实施中用得最多的还是LVS/DR+Keepalived
4、无流量 , LVS只分发请求 , 而流量并不从它本身出去 , 这点保证了均衡器IO的性能不会收到大流量的影响 。
5、应用范围较广 , 因为LVS工作在4层 , 所以它几乎可对所有应用做负载均衡 , 包括http、数据库、在线聊天室等
LVS的缺点是:
1、软件本身不支持正则表达式处理 , 不能做动静分离而现在许多网站在这方面都有较强的需求 , 这个是Nginx/HAProxy+Keepalived的优势所在;