MySQL 5.5 是 MySQL 数据库的一个经典版本,虽然目前已不再官方维护(2021 年终止支持),但仍有部分老旧系统在使用。以下是关于 MySQL 5.5 的关键信息和操作指南:
-
性能提升:相比 5.1 版本,InnoDB 存储引擎性能提升约 2-3 倍
-
InnoDB 增强:
-
支持更多并发线程(默认 1000 个)
-
引入 InnoDB 插件作为默认存储引擎
-
支持表空间自动扩展
-
复制功能:
-
支持半同步复制(semi-sync replication)
-
复制延迟优化
-
其他特性:
-
支持命名管道(Windows)
-
增加
INFORMATION_SCHEMA 表
-
更好的 Unicode 支持
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8C718D3B5072E1F5
sudo nano /etc/apt/sources.list
sudo apt update
sudo apt install mysql-server-5.5
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-server-5.5.62-1.el6.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-client-5.5.62-1.el6.x86_64.rpm
sudo rpm -ivh MySQL-server-5.5.62-1.el6.x86_64.rpm
sudo rpm -ivh MySQL-client-5.5.62-1.el6.x86_64.rpm
sudo service mysql start
-
不支持的特性:
-
不支持 JSON 数据类型
-
不支持 Generated Columns(生成列)
-
不支持 CTE(公用表表达式)
-
不支持
sys 系统库
-
语法差异:
-
变量声明需用
SET @var=value,不支持 DECLARE 在存储过程外使用
-
LIMIT 子句不支持 LIMIT offset, row_count 以外的语法
-
安全特性:
-
密码加密方式较旧(不支持
caching_sha2_password)
-
权限管理功能相对简单
sudo service mysql start
sudo service mysql stop
sudo service mysql status
mysql -u root -p
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
innodb_buffer_pool_size=1G # 建议设为系统内存的 50%
innodb_flush_log_at_trx_commit=1 # 事务安全(性能较低)
innodb_file_per_table=1 # 独立表空间
max_connections=1000 # 最大连接数
wait_timeout=600 # 连接超时时间
由于 MySQL 5.5 已停止安全更新,存在潜在风险,建议升级到更高版本(如 8.0):
-
备份数据:
mysqldump -u root -p --all-databases > backup.sql
-
安装新版本 MySQL
-
导入数据:
mysql -u root -p < backup.sql
-
检查兼容性:使用
mysql_upgrade 工具修复兼容性问题
-
无法启动:检查端口是否被占用(默认 3306),查看日志
/var/log/mysqld.log
-
密码重置:
sudo service mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
exit;
sudo service mysql restart
如果仍在使用 MySQL 5.5,建议尽快制定升级计划,以获得更好的性能、安全性和新特性支持。