您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux怎么安装MySQL5.7
MySQL 5.7作为经典的数据库版本,至今仍被广泛使用。本文将详细介绍在Linux系统(以Ubuntu和CentOS为例)上安装MySQL 5.7的完整流程,包含配置优化和基础安全设置。
## 一、安装前的准备工作
### 1.1 系统环境检查
```bash
# 查看系统版本
cat /etc/os-release
lsb_release -a
# 检查现有MySQL
systemctl status mysql
dpkg -l | grep mysql # Ubuntu/Debian
rpm -qa | grep mysql # CentOS/RHEL
# Ubuntu/Debian
sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo rm -rf /etc/mysql /var/lib/mysql
# CentOS/RHEL
sudo yum remove mysql-server mysql-client
sudo rm -rf /var/lib/mysql
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
# 在弹出的界面中选择MySQL 5.7
sudo apt update
sudo apt install -y mysql-server=5.7* mysql-client=5.7*
sudo mysql_secure_installation
按提示完成以下设置: 1. 设置root密码(建议8位以上包含特殊字符) 2. 移除匿名用户 3. 禁止root远程登录 4. 移除test数据库 5. 重新加载权限表
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log
mysql_secure_installation
输入临时密码后按提示操作(同Ubuntu步骤)
sudo vim /etc/mysql/my.cnf # Ubuntu
sudo vim /etc/my.cnf # CentOS
添加/修改以下参数:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
default-storage-engine=INNODB
max_connections=1000
innodb_buffer_pool_size=1G # 建议物理内存的50-70%
log-error=/var/log/mysql/mysql-error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql-slow.log
long_query_time=2
sudo systemctl restart mysql # Ubuntu
sudo systemctl restart mysqld # CentOS
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'AppPassword456!';
GRANT SELECT,INSERT,UPDATE,DELETE ON appdb.* TO 'appuser'@'localhost';
sudo ufw allow 3306/tcp
sudo ufw reload
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
# 停止MySQL服务
sudo systemctl stop mysql
# 跳过权限检查启动
sudo mysqld_safe --skip-grant-tables &
# 登录修改密码
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
exit;
# 重启服务
sudo systemctl restart mysql
-- 查看当前连接数
SHOW STATUS LIKE 'Threads_connected';
-- 修改最大连接数(需在配置文件中持久化)
SET GLOBAL max_connections = 2000;
mysqldump -u root -p --all-databases > full_backup.sql
mysql -u root -p dbname < backup_file.sql
如需升级到MySQL 8.0: 1. 完整备份所有数据库 2. 检查兼容性问题:
SELECT * FROM sys.schema_unused_indexes;
SHOW VARIABLES LIKE '%deprecated%';
-- 查看运行状态
SHOW ENGINE INNODB STATUS;
-- 查看锁情况
SELECT * FROM performance_schema.events_waits_current;
-- 查看慢查询
SELECT * FROM mysql.slow_log;
# 添加每日备份任务
sudo crontab -e
0 3 * * * /usr/bin/mysqldump -u root -p密码 --all-databases | gzip > /backup/mysql_$(date +\%Y\%m\%d).sql.gz
注意事项: 1. 生产环境建议禁用root远程登录 2. 重要操作前务必进行完整备份 3. MySQL 5.7将于2023年10月结束官方支持,建议新项目考虑MySQL 8.0
通过以上步骤,您已经成功在Linux系统上安装并配置了MySQL 5.7数据库服务。根据实际应用场景,可进一步调整性能参数和安全设置。 “`
这篇文章包含了: 1. 不同Linux发行版的安装方法 2. 详细的配置优化指南 3. 用户权限管理建议 4. 常见问题解决方案 5. 备份恢复方案 6. 监控维护建议
全文约1800字,采用Markdown格式,包含代码块、列表、强调等标准格式,可以直接用于技术文档发布。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。