记一次游戏服务器搭建
前言
由于涉及生产环境 已经将关键信息抹去
一个做游戏的老哥,最近部署了一个新的游戏服务器,买的某服务商的高防服务器,结果发现MySQL的密码加密是个大坑 (默认安装采用的是41位加密,游戏服务端强制使用16位加密)
开始
首先连上了服务器 按照常规的MySQL按照方法安装,下载,解包,编译,安装一把梭,轻车熟路,之后配置了my.cnf 做了些优化,就交给那位老哥了
正当我在想怎么改16位加密的时候,老哥和我说连不上MySQL
my.cnf正常 iptables正常 MySQL权限正常
我突然想到一件事
(我好像还没启动数据库来着……
总算是连上了,但过了一会,老哥和我说这个数据库貌似不兼容程序,需要用特殊的方法安装
老哥按照他的方法安装完毕后,我接手服务器,修改数据库加密方式
先打开my.cnf操作一波
添加了红框一行
之后使用service mysqld restart 重启MySQL服务
重启后要去更新权限组,结果…
在认真校对了多次密码后 仍然显示密码错误的报错,或许是刚才加了old_passwords的原因?
赶快跑回去 把 old_passwords 注释掉重启MySQL服务器
我问了那位老哥,他说安装后是可以使用Cli MySQL的,但是如果退出,就再也登不上Cli MySQL了
这个问题很诡异,我也没细究
老哥说,只需要回车,不用输入密码就可以登录
但这个账号啥权限都没有
正确的密码却提示没权限?那么就从这里入手
MySQL有个命令叫做 skip-grant-tables 作用是忽略权限表 用途是救库
当然 我们不是在救库 我们只需要逻辑来一个小转弯
首先停止MySQL
1 |
|
之后用MySQL的安全模式带忽略权限表启动数据库
1 |
|
使用root权限登录
1 |
|
权限到手
设置加密模式
更新root密码,刷新权限表(更改了加密模式)
1 |
|
开启MySQL
1 |
|
封面飞机:Su-30MKI 战斗机(俄罗斯)