虚拟主机MySQL binlog_修复实操
很多站长遇到MySQL binlog就重装MySQL,数据全丢。数据库问题大多是配置或权限问题,先备份数据(mysqldump或复制data目录),再排查。重装只在数据文件严重损坏且无备份时考虑,且要先抢救数据。
密码重置:忘记root密码,停服务 → mysqld_safe --skip-grant-tables --skip-networking & → mysql -u root无密码登录 → MySQL 5.7: UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; → MySQL 8.0: ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; → 重启服务。
参考(MySQL配置与性能): ``` # my.cnf 配置 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=500 innodb_buffer_pool_size=1G innodb_log_file_size=256M slow_query_log=1 slow_query_log_file=/var/log/mysql-slow.log long_query_time=2 bind-address=127.0.0.1
# 远程连接授权 mysql -u root -p GRANT ALL PRIVILEGES ON 库名.* TO '用户'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES;
# 表修复 mysql -u root -p -e "REPAIR TABLE 库名.表名;" mysqlcheck -u root -p --auto-repair --all-databases
# 查看表大小 mysql -u root -p -e "SELECT table_name, round(((data_length + index_length) / 1024 / 1024), 2) AS size_mb FROM information_schema.TABLES WHERE table_schema='库名' ORDER BY size_mb DESC;" ```
MySQL安全:root只允许localhost;应用账号只给必要权限(SELECT/INSERT/UPDATE/DELETE),不给DROP/ALTER;定期备份;phpMyAdmin改路径 + IP白名单;3306不对外暴露(除非需要远程连接);开启审计日志;强密码。数据库被拖库是最严重的安全事故。
phpMyAdmin使用:面板打开 → 选库 → 浏览/结构/SQL/导入/导出。导入大文件改PHP upload_max_filesize和post_max_size,或用命令行。导出选SQL + 完整插入。操作前先备份。phpMyAdmin是数据库管理常用工具,不对外暴露路径。

更新时间:2026-08-27 11:23:34
上一篇:Linux定时任务crontab配置:定时执行脚本与备份_Linux_服务器运维_命令行