MySQL 5.5 是 MySQL 數(shù)據(jù)庫(kù)的一個(gè)經(jīng)典版本,雖然目前已不再官方維護(hù)(2021 年終止支持),但仍有部分老舊系統(tǒng)在使用。以下是關(guān)于 MySQL 5.5 的關(guān)鍵信息和操作指南:
-
性能提升:相比 5.1 版本,InnoDB 存儲(chǔ)引擎性能提升約 2-3 倍
-
InnoDB 增強(qiáng):
-
支持更多并發(fā)線程(默認(rèn) 1000 個(gè))
-
引入 InnoDB 插件作為默認(rèn)存儲(chǔ)引擎
-
支持表空間自動(dòng)擴(kuò)展
-
復(fù)制功能:
-
支持半同步復(fù)制(semi-sync replication)
-
復(fù)制延遲優(yōu)化
-
其他特性:
-
支持命名管道(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 數(shù)據(jù)類型
-
不支持 Generated Columns(生成列)
-
不支持 CTE(公用表表達(dá)式)
-
不支持
sys 系統(tǒng)庫(kù)
-
語(yǔ)法差異:
-
變量聲明需用
SET @var=value,不支持 DECLARE 在存儲(chǔ)過程外使用
-
LIMIT 子句不支持 LIMIT offset, row_count 以外的語(yǔ)法
-
安全特性:
-
密碼加密方式較舊(不支持
caching_sha2_password)
-
權(quán)限管理功能相對(duì)簡(jiǎn)單
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 # 建議設(shè)為系統(tǒng)內(nèi)存的 50%
innodb_flush_log_at_trx_commit=1 # 事務(wù)安全(性能較低)
innodb_file_per_table=1 # 獨(dú)立表空間
max_connections=1000 # 最大連接數(shù)
wait_timeout=600 # 連接超時(shí)時(shí)間
由于 MySQL 5.5 已停止安全更新,存在潛在風(fēng)險(xiǎn),建議升級(jí)到更高版本(如 8.0):
-
備份數(shù)據(jù):
mysqldump -u root -p --all-databases > backup.sql
-
安裝新版本 MySQL
-
導(dǎo)入數(shù)據(jù):
mysql -u root -p < backup.sql
-
檢查兼容性:使用
mysql_upgrade 工具修復(fù)兼容性問題
-
無法啟動(dòng):檢查端口是否被占用(默認(rèn) 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,建議盡快制定升級(jí)計(jì)劃,以獲得更好的性能、安全性和新特性支持。