Ewige前夕
记一次游戏服务器搭建

前言

由于涉及生产环境 已经将关键信息抹去

一个做游戏的老哥 最近部署了一个新的游戏服务器 买的某服务商的高防服务器 结果发现MySQL的密码加密是个大坑 (默认安装采用的是41位加密,游戏服务端强制使用16位加密)

 

开始

首先吐槽一波某服务商的高防服务器

系统默认yum源是CentOS官方的yum源 这点坑了多少小白 :roll:

 

首先连上了服务器 按照常规的MySQL按照方法安装

下载……

解包……

进目录……

预编译……

编译……

安装……

轻车熟路,之后配置了my.cnf 做了些优化 就交给那位老哥了

正当我在想怎么改16位加密的时候,老哥和我说连不上MySQL :-D

然后我就开始了漫长的排错过程 :-o

my.cnf正常 iptables正常 MySQL权限正常

就当我要炸毛的时候 突然想到一件事

(我好像还没启动数据库来着…….

当时我的心情是这样的 :evil:

 

总算是连上了 but过了一会 老哥和我说这个数据库貌似不兼容程序,需要用特殊的方法安装 :roll:

这个时候我对这个“骄傲”的程序有了点看法

老哥按照他的方法安装完毕后 我接手服务器,修改数据库加密方式

先打开my.cnf操作一波

添加红框一行 shift ZZ 走人
之后使用service mysqld restart 重启MySQL服务
重启后要去更新权限组 然后重头戏来了
在认真校对了多次密码后 仍然显示密码错误的报错 :arrow:
或许是刚才加了old_passwords的原因?
赶快跑回去 把 old_passwords 注释掉
重启MySQL服务器
咳咳。。。
我问了那位老哥 他说安装后是可以使用Cli MySQL的,但是如果退出,就再也登不上Cli MySQL了
这个问题很诡异,我也没细究
老哥说 只需要回车 不用输入密码就可以登录
这个数据库怕不是虫族数据库 :-D
回车 登录成功!!!
可是我很快发现一个问题
这个账号啥权限都没有,严重怀疑是test账号
登出登出……..
正确的密码却提示没权限?那么就从这里入手
MySQL有个命令叫做 skip-grant-tables 作用是忽略权限表 用途是救库
当然 我们不是在救库 我们只需要逻辑来一个小转弯
首先停止MySQL
service mysqld stop

之后用MySQL的安全模式带忽略权限表启动数据库

mysqld_safe --user=root --skip-grant-tables

使用root权限登录

mysql -u root -p

太棒了 权限到手 天下我有

 

更新root密码,刷新权限表(更改了加密模式)

use mysql
update user set password=password("Your Password") where user="Your SQL User";
flush privileges;

开启MySQL

service mysqld start

发表评论

textsms
account_circle
email

Ewige前夕

记一次游戏服务器搭建
前言 由于涉及生产环境 已经将关键信息抹去 一个做游戏的老哥 最近部署了一个新的游戏服务器 买的某服务商的高防服务器 结果发现MySQL的密码加密是个大坑 (默认安装采用的是41位加密…
扫描二维码继续阅读
2019-01-25