实验楼mysql挑战2_实验楼发布全新比赛,欢迎大家来挑战!(附第一期楼赛答案解析及预告)...

关注「实验楼」,每天分享一个项目教程简介相信不少小伙伴都发现了,实验楼上线了一种全新的比赛「 楼赛 」。不同于以往所有的OJ或ACM测试,「楼赛」更偏重于实际操作能力和解决问题的能力,模拟真实工作中经常遇到的问题,发现真正有编程能力的人。

第一期的题目为「为新同事创建系统账户」、「修复无法启动的数据库」、「让实验楼网站恢复运行」,都是工作和面试中都经常会碰到的问题,本篇文章将带来这三道题目的答案解析。

当然看答案前,请先来实验楼挑战一下自己~

本期楼赛的主题是 Linux,涉及 Linux 用户管理、sudo 权限设置、MySQL 及 nginx 排错等知识点。题目难度不大,有过 Linux 运维经验的都可以快速完成。01

为新同事创建系统账户

实验楼研发团队有一禁用词语立的测试服务器,每位同事都在上面拥有一个账号,用来日常开发测试。今天有一位叫楼赛的同事入职,需要你帮他创建新账号。

目标

创建的新账号要求如下:

用户名:lousai

Home 目录:/home/lousai

允许 lousai 使用 SSH 登陆系统

lousai 用户默认使用 zsh

lousai 用户需要 sudo 权限

提示语

我是 shiyanlou,我有 sudo 权限,我用 zsh,我自豪!

知识点

Linux 用户创建及配置

Linux sudo 权限设置

02

数据库无法启动

新同事小楼在本地搭建的开发环境使用 MySQL 数据库,因为一些误操作无法启动,并且忘记了 MySQL 的 root 密码。

请帮她在右边的实验环境中启动 MySQL 并重设 MySQL 的 root 密码,让她可以登录进去恢复数据。

目标

恢复后的数据库要求如下:

mysql 服务处于运行状态

mysql 的 root 密码重新设置为shiyanlou

提示语

日志!日志!日志!

知识点

MySQL 数据库排错

MySQL root 密码恢复

03

让实验楼网站恢复运行

小楼这次闯下大祸,不小心把线上的实验楼网站搞挂了。实验楼的网站使用的是 nginx 服务,目前无法启动。

请尝试在最短的时间内让实验楼恢复访问。你所节省的每一分钟,都能挽留上百名实验楼的用户。

注意:实验楼网站页面目录为/home/shiyanlou/page。

目标

恢复访问的要求如下:

nginx 服务处于运行状态

在实验环境中使用 Firefox 浏览器访问本地http://localhost可以进入实验楼的主页,如下图:

提示语

赶紧启动 nginx 吧!

知识点

nginx 服务配置

nginx 日志分析

答案分割线

提供的答案并不一定是最优的方案,欢迎大家举出其他解决方案!

题目1:为新同事创建系统账户

本题目中需要在桌面环境中创建用户,并满足一系列条件:

用户名:lousai

Home 目录:/home/lousai

允许 lousai 使用 SSH 登陆系统

lousai 用户默认使用 zsh

lousai 用户需要 sudo 权限

其中1,2,4 三个要求只需要一个 adduser 命令就可以完成:

sudo adduser --home /home/lousai --shell /usr/bin/zsh lousai

由于实验楼环境的配置,新创建的用户只要有密码,默认是允许通过 SSH 登录的,所以需求 3 不需要做任何事情。

最后需求 5 需要 sudo 权限,可以直接将新用户加入到 sudo 组:

sudo usermod -aG sudo lousai

至此,五个需求都已经完成,提交结果让实验楼的系统帮你测试下吧。

题目2:数据库无法启动

在这道题目中有三个坑:

MySQL 服务无法启动 - bind address 配置错误

MySQL 服务无法启动 - /var/run/mysqld 权限配置错误

MySQL root 密码忘记

前两个坑都可以在尝试 sudo service mysql start 命令后查看 /var/log/mysql/error.log 报错日志发现。

坑1相关的报错日志:

修复的方法是把 /etc/mysql/my.cnf 配置文件中的 bind-address 改为 127.0.0.1 禁用词语到本地就可以了。

坑2相关的报错日志:

Permission denied的错误显示出来我们就需要去看下是哪个目录是没有权限,第二句日志中表示无法创建/var/run/mysqld/mysqld.sock,去查看 /var/run/msyqld 发现默认的所有者是 shiyanlou 用户,这就是问题所在了。修复方法:

sudo chown mysql:msyql /var/run/mysqld

最后坑3则是很常规的重制 MySQL 密码了:

# 停止 mysql 服务

sudo service mysql stop

# 使用 mysql_safe 方式启动 mysql 服务

sudo mysqld_safe --skip-grant-tables

Tag标签:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值