提到数据初始化, 那估计是因为单纯了拷贝了mysql的程序, 但没有把数据文件夹拷过来。否则就是因为某种原因,技术员想重置掉mysql服务器里的数据。做这件事情之前,务必要考虑清楚自己在干什么。数据丢了不要来骂。
用一个命令解决:
./mysqld --initialize --console
有时会报错误, 找不到mysqld, 怎么解决?
whereis mysql find / -name "mysqld"
查找到底这个mysqld程序在哪里
重置完了root密码进不去
不要天真了, 不可能进不去的。初始化之后, 控制台会用英文打印出随机的一套密码, 初始化的命令执行之后, 请仔细阅读后面那段英文。
之后使用下方命令进入mysql服务器
mysql -uroot -p
一般这个时候系统开始报
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
执行下方语句, 重置新密码否则什么都不好使
ALTER user user() IDENTIFIED by '你的新密码'; flush privileges;
无法重置, 报各种错误, 且无法启动mysql服务
这个问题,很有可能数据目录的权限问题, 在重置之前, 把mysql的数据目录位置在my.cnf里确认一下。假如mysql的数据目录被你放到了/usr/local/mysql/var下面, 那么执行这个命令:
chown -R mysql:mysql /usr/local/mysql/var
之后再重置就OK了。
如果是其他问题, 就需要看情况自行解决了。
请不要盲目地直接chmod -R 777 xxxx这样子, 中了挖矿机你就知道厉害了。