一、MySQL服务无法启动
my.cnf语法错误)、数据目录权限不足、端口冲突(3306被占用)、磁盘空间不足或数据库损坏。sudo systemctl status mysql,查看是否有明确错误提示;sudo tail -f /var/log/mysql/error.log(日志会明确提示失败原因,如“Port 3306 is already in use”);sudo netstat -tuln | grep 3306找到占用端口的进程ID,再用sudo kill -9 <进程ID>终止进程;/var/lib/mysql)属主为mysql,执行sudo chown -R mysql:mysql /var/lib/mysql;df -h检查磁盘使用情况,清理/tmp、/var/log等目录的无用文件。二、无法远程连接MySQL
bind-address设置为127.0.0.1)、防火墙未开放3306端口、用户权限未配置远程访问。/etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address = 127.0.0.1并注释(或改为0.0.0.0),允许所有IP连接;sudo systemctl restart mysql;sudo ufw allow 3306/tcp(若使用firewalld,则执行firewall-cmd --zone=public --add-service=mysql --permanent后firewall-cmd --reload);GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES;(将root替换为目标用户,%表示允许所有IP)。三、字符集乱码(如中文无法显示/插入)
/etc/mysql/my.cnf,在[client]和[mysqld]部分添加:[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sudo systemctl restart mysql;SHOW CREATE DATABASE your_database;,若未使用UTF-8,可通过ALTER DATABASE your_database CHARACTER SET utf8 COLLATE utf8_general_ci;修改。四、安装过程中依赖问题
libaio1)、APT缓存异常。sudo apt update;sudo apt install -f(自动安装缺失的依赖包);sudo apt clean(清理缓存),sudo apt remove --purge mysql-*(移除现有MySQL),sudo apt install mysql-server mysql-client(重新安装)。五、连接数超过上限(max_connections)
SHOW VARIABLES LIKE 'max_connections';(如结果为151);SET GLOBAL max_connections = 500;(根据服务器配置调整,建议不超过1000);/etc/mysql/mysql.conf.d/mysqld.cnf,添加max_connections = 500,然后重启MySQL。六、Initializing database错误(初始化数据库失败)
/var/lib/mysql,确保路径无中文或特殊字符;sudo chown -R mysql:mysql /var/lib/mysql;df -h检查,若空间不足,清理无用文件或扩展磁盘。七、安全性不足(默认安装风险)
sudo mysql_secure_installation,按提示设置root密码、删除匿名用户、禁止远程root登录、移除测试数据库;ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword';修改root密码(建议使用大小写字母+数字+符号的组合)。