当系统库删除,mysql无法启动怎么办
2022/8/31 4:22:53
本文主要是介绍当系统库删除,mysql无法启动怎么办,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
系统环境:CentOS Linux release 7.6.1810
数据库:mysql 5.7.24
当你不小心把数据库里的系统库,或者某些重要的系统表给删了,重启时会无法启动,提示异常
提示错误
Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
解决思路
备份现有数据库文件,重新初始化系统库,把之前的业务库文件拷贝到新的数据目录中
解决过程
1. 备份数据库数据
不清楚数据库文件目录:可以从 /etc/my.cnf 中找到
basedir : 可执行命令从这里找
datadir:数据库数据文件目录。系统库和个人创建库在这个目录中
安全起见,备份所有数据
cp -r -f /data/mysql /mysqltmp
2.重新初始化系统表
./mysqld --defaults-file=/etc/my.cnf --initialize --user=root --basedir=/usr/local/mysql --datadir=/data/mysql
在datadir目录中找到mysql.err 文件,里面有系统初始化mysql生成的密码
启动mysql:service mysql start
3.修改mysql密码和连接权限
#1.连接mysql,输入第2步生成的密码串 mysql -u root -p #2.登录进去后,设置新的密码 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); #3.设置权限支持远程登录 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin123'; mysql> flush privileges;
4.把步骤一拷贝得到业务库拷贝到新的数据库
1、从备份中(/mysqltmp )找到业务数据库对应的文件拷贝到 数据目录中 /data/mysql
2、从备份中(/mysqltmp ) 中把 ibdata1 复制到数据目录中 /data/mysql
3、删除 ib_logfile0,ib_logfile1 文件
这篇关于当系统库删除,mysql无法启动怎么办的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程