
MySQL作为一个流行的开源关系数据库管理系统(RDBMS),在Web应用开发和数据存储方面发挥着关键作用
本文将详细介绍如何在 Linux7.3 系统上安装 MySQL、配置 MySQL 服务、开放远程连接以及进行必要的安全设置,确保你的数据库连接既安全又高效
一、安装 MySQL 在 Linux7.3 上安装 MySQL可以通过包管理器来完成
以下步骤适用于大多数基于 RPM 的 Linux 发行版,例如 CentOS、RHEL 或 Fedora
如果你使用的是基于 DEB 的发行版(如 Ubuntu),请参照相应的包管理工具(如 apt-get)进行安装
1.更新系统包 在安装 MySQL 之前,建议先更新系统的软件包索引: bash sudo yum update -y 2.安装 MySQL Server 使用`yum` 包管理器安装 MySQL Server: bash sudo yum install mysql-server -y 3.启动 MySQL 服务 安装完成后,启动 MySQL 服务并设置开机自启动: bash sudo systemctl start mysqld sudo systemctl enable mysqld 4.查找初始密码 MySQL 安装完成后,系统会生成一个临时的 root 密码
你可以通过查看 MySQL 日志文件来找到这个密码
日志文件通常位于`/var/log/mysqld.log`
使用以下命令查找初始密码: bash sudo grep temporary password /var/log/mysqld.log 二、配置 MySQL 找到初始密码后,下一步是登录 MySQL 并进行基本配置
1.首次登录 MySQL 使用初始密码登录 MySQL: bash mysql -u root -p 系统会提示你输入密码,输入从日志文件中找到的临时密码
2.更改 root 密码 登录成功后,立即更改 root 密码
MySQL5.7 及以后的版本建议使用`ALTER USER` 命令: sql ALTER USER root@localhost IDENTIFIED BY NewPassword123!; 请确保使用强密码,包含大小写字母、数字和特殊字符
3.配置远程访问 默认情况下,MySQL 的 root 用户只能从本地主机登录
要允许从远程主机连接,需要修改 MySQL 用户表
执行以下命令: sql GRANT ALL PRIVILEGES ON- . TO root@% IDENTIFIED BY NewPassword123! WITH GRANT OPTION; FLUSH PRIVILEGES; 这条命令将允许 root 用户从任何主机连接,并赋予所有权限
为了安全起见,生产环境中建议创建特定用户并限制其访问 IP
sql CREATE USER dbuser@192.168.1.100 IDENTIFIED BY UserPassword123!; GRANT ALL PRIVILEGES ON- . TO dbuser@192.168.1.100 WITH GRANT OPTION; FLUSH PRIVILEGES; 4.配置防火墙 Linux7.3 通常使用`firewalld` 作为防火墙管理工具
要允许 MySQL 的默认端口(3306)通过防火墙,执行以下命令: bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload 三、MySQL 安全设置 开放 MySQL远程连接后,安全设置变得尤为重要
以下是一些关键的安全配置步骤: 1.删除匿名用户 检查并删除任何匿名用户,这些用户可能带来安全风险: sql SELECT user, host FROM mysql.user WHERE user=; DROP USER @localhost; FLUSH PRIVILEGES; 2.移除测试数据库 MySQL 安装时默认包含一些测试数据库,这些数据库在生产环境中通常不需要: sql DROP DATABASE test; DROP DATABASE performance_schema; FLUSH PRIVILEGES; 注意:`performance_schema` 是一个用于监控 MySQL 服务器性能的重要数据库,通常不建议删除
这里列出只是为了完整性
3.绑定地址 默认情况下,MySQL监听`127.0.0.1`(即本地主机)
要允许外部连接,可以修改 MySQL配置文件(通常是`/etc/my.cnf` 或`/etc/mysql/my.cnf`),将`bind-address`设置为`0.0.0.0`: ini 【mysqld】 bind-address =0.0.0.0 修改后,重启 MySQL 服务: bash sudo systemctl restart mysqld 4.使用 SSL/TLS 加密 为了增强数据传输的安全性,建议启用 SSL/TLS加密
这需要在 MySQL 服务器和客户端之间建立安全的连接
-生成 SSL 证书和密钥: bash sudo openssl req -newkey rsa:2048 -nodes -keyout ca-key.pem -x509 -days365 -out ca-cert.pem sudo openssl req -newkey rsa:2048 -nodes -keyout server-key.pem -out server-req.pem sudo openssl rsa -in server-key.pem -out server-key.pem sudo openssl x509 -req -in server-req.pem -days365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial01 -out server-cert.pem sudo openssl req -newkey rsa:2048 -nodes -keyout client-key.pem -out client-req.pem sudo openssl rsa -in client-key.pem -out client-key.pem sudo openssl x509 -req -in client-req.pem -days365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial01 -out client-cert.pem -配置 MySQL 使用 SSL: 在`/etc/my.cnf`文件中添加以下内容: ini 【mysqld】 ssl-ca = /path/to/ca-cert.pem ssl-cert = /path/to/server-cert.pem ssl-key = /path/to/server-key.pem -重启 MySQL 服务: bash sudo systemctl restart mysqld -在客户端使用 SSL 连接: bash mysql --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem -u root -p -h your-server-ip 四、监控与维护 确保 MySQL 服务器的稳定运行和性
MySQL导入遇错继续,高效应对策略
Linux7.3下开启MySQL远程连接指南
鼎信诺直接取数:高效备份BA文件技巧
HAProxy配置打造高效MySQL集群
MySQL存储20亿行数据的高效策略
C语言MySQL常用API操作指南
MySQL技巧:高效使用CONCAT函数处理数字字符串
MySQL导入遇错继续,高效应对策略
HAProxy配置打造高效MySQL集群
MySQL存储20亿行数据的高效策略
C语言MySQL常用API操作指南
MySQL技巧:高效使用CONCAT函数处理数字字符串
MySQL查询:WHERE大于条件与索引利用
MySQL支持多Navicat连接使用指南
MySQL查询未用预期索引优化指南
Xshell连接远程服务器管理MySQL
如何关闭MySQL中的InnoDB引擎
MySQL存储图片:了解最大容量限制与最佳实践
揭秘:MySQL服务名的正确称呼