Linux怎么安装mysql5.7

发布时间:2022-02-05 11:19:48 作者:iii
来源:亿速云 阅读:174
# 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

1.2 卸载旧版本(如有冲突)

# 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

二、Ubuntu/Debian系统安装

2.1 添加官方软件源

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

2.2 执行安装

sudo apt install -y mysql-server=5.7* mysql-client=5.7*

2.3 初始化配置

sudo mysql_secure_installation

按提示完成以下设置: 1. 设置root密码(建议8位以上包含特殊字符) 2. 移除匿名用户 3. 禁止root远程登录 4. 移除test数据库 5. 重新加载权限表

三、CentOS/RHEL系统安装

3.1 添加MySQL Yum仓库

sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

3.2 安装MySQL 5.7

sudo yum install -y mysql-community-server

3.3 启动服务并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

3.4 获取临时密码

grep 'temporary password' /var/log/mysqld.log

3.5 安全配置

mysql_secure_installation

输入临时密码后按提示操作(同Ubuntu步骤)

四、基础配置优化

4.1 修改配置文件

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

4.2 重启生效配置

sudo systemctl restart mysql  # Ubuntu
sudo systemctl restart mysqld # CentOS

五、用户权限管理

5.1 创建管理用户

CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5.2 创建应用专用用户

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'AppPassword456!';
GRANT SELECT,INSERT,UPDATE,DELETE ON appdb.* TO 'appuser'@'localhost';

六、防火墙配置

6.1 Ubuntu UFW配置

sudo ufw allow 3306/tcp
sudo ufw reload

6.2 CentOS Firewalld配置

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

七、常见问题解决

7.1 忘记root密码

# 停止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

7.2 连接数过多问题

-- 查看当前连接数
SHOW STATUS LIKE 'Threads_connected';

-- 修改最大连接数(需在配置文件中持久化)
SET GLOBAL max_connections = 2000;

八、备份与恢复

8.1 使用mysqldump备份

mysqldump -u root -p --all-databases > full_backup.sql

8.2 单库恢复

mysql -u root -p dbname < backup_file.sql

九、版本升级建议

如需升级到MySQL 8.0: 1. 完整备份所有数据库 2. 检查兼容性问题:

   SELECT * FROM sys.schema_unused_indexes;
   SHOW VARIABLES LIKE '%deprecated%';
  1. 参考官方升级文档逐步操作

十、监控与维护

10.1 常用监控命令

-- 查看运行状态
SHOW ENGINE INNODB STATUS;

-- 查看锁情况
SELECT * FROM performance_schema.events_waits_current;

-- 查看慢查询
SELECT * FROM mysql.slow_log;

10.2 设置定期维护

# 添加每日备份任务
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格式,包含代码块、列表、强调等标准格式,可以直接用于技术文档发布。

推荐阅读:
  1. docker 安装mysql5.7
  2. linux7 yum安装Mysql5.7

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux mysql

上一篇:vue基础语法中的插值表达式如何理解

下一篇:Linux怎么查看网卡信息

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》