在Linux系统上安装MySQL数据库不仅是一个常见的任务,也是很多开发者和系统管理员必须掌握的技能
本文将详细介绍如何在Linux系统上安装MySQL数据库,并设置一个安全的密码,以确保数据库的安全性和正常运行
一、准备工作 在开始安装MySQL之前,有几个准备工作需要完成: 1.选择Linux发行版: 不同的Linux发行版有不同的包管理系统,安装步骤可能会有所不同
本文将以Ubuntu和CentOS为例,分别介绍安装步骤
2.更新软件包列表: 在安装任何新软件包之前,更新系统软件包列表是一个好习惯
这可以确保你安装的是最新版本的MySQL
3.检查防火墙设置: 确保你的防火墙允许MySQL的默认端口(3306)的通信
如果你计划从远程访问数据库,这一点尤为重要
二、在Ubuntu上安装MySQL 1.更新软件包列表: 打开终端并运行以下命令: bash sudo apt update 2.安装MySQL服务器: 运行以下命令来安装MySQL服务器: bash sudo apt install mysql-server 3.启动MySQL服务: 安装完成后,启动MySQL服务并设置其在系统启动时自动启动: bash sudo systemctl start mysql sudo systemctl enable mysql 4.检查MySQL服务状态: 你可以使用以下命令检查MySQL服务的状态,确保它正在运行: bash sudo systemctl status mysql 三、在CentOS上安装MySQL 1.添加MySQL Yum存储库: CentOS默认的软件仓库中可能没有最新版本的MySQL
因此,首先需要添加官方的MySQL Yum存储库
下载并安装存储库RPM包: bash sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2.禁用默认MySQL模块: 默认情况下,MySQL8.0模块是启用的,但如果你需要安装MySQL5.7,可以禁用MySQL8.0模块并启用MySQL5.7模块: bash sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community 3.安装MySQL服务器: 运行以下命令来安装MySQL服务器: bash sudo yum install mysql-community-server 4.启动MySQL服务: 安装完成后,启动MySQL服务并设置其在系统启动时自动启动: bash sudo systemctl start mysqld sudo systemctl enable mysqld 5.检查MySQL服务状态: 你可以使用以下命令检查MySQL服务的状态,确保它正在运行: bash sudo systemctl status mysqld 四、获取初始密码并设置新密码 1.查找初始密码: MySQL5.7及更高版本在安装后会生成一个临时密码
在Ubuntu系统上,你可以在`/var/log/mysqld.log`文件中找到这个密码
在CentOS系统上,你可以在`/var/log/mysqld.err`文件中找到
在Ubuntu上运行以下命令查找初始密码: bash sudo grep temporary password /var/log/mysqld.log 在CentOS上运行以下命令查找初始密码: bash sudo grep temporary password /var/log/mysqld.err 2.登录MySQL: 使用找到的临时密码登录MySQL: bash mysql -u root -p 3.更改root密码: 登录后,运行以下命令更改root密码
注意,MySQL5.7及更高版本使用`ALTER USER`命令更改密码: sql ALTER USER root@localhost IDENTIFIED BY NewPassword!; 在MySQL5.6及更低版本中,你可以使用以下命令: sql SET PASSWORD FOR root@localhost = PASSWORD(NewPassword!); 4.应用安全配置: MySQL提供了一个名为`mysql_secure_installation`的脚本,用于应用一些基本的安全配置
运行以下命令启动脚本: bash sudo mysql_secure_installation 脚本会提示你执行以下操作: -更改root密码(如果你已经更改过,可以直接跳过)
- 删除匿名用户
-禁止root远程登录
- 删除测试数据库并重新加载权限表
-刷新所有权限
五、配置MySQL允许远程访问 默认情况下,MySQL只监听本地接口(127.0.0.1)
如果你需要从远程访问MySQL数据库,需要修改MySQL配置文件以监听所有接口(0.0.0.0),并允许特定用户的远程访问
1.修改MySQL配置文件: 打开MySQL配置文件(通常是`/etc/mysql/mysql.conf.d/mysqld.cnf`或`/etc/my.cnf`),找到`bind-address`行并将其注释掉或更改为`0.0.0.0`: ini bind-address =127.0.0.1 bind-address =0.0.0.0 2.重启MySQL服务: 修改配置文件后,重启MySQL服务以使更改生效: bash sudo systemctl restart mysql 对于Ubuntu sudo systemctl restart mysqld 对于CentOS 3.创建远程用户: 登录MySQL并创建一个允许从远程IP地址访问的用户
例如,要允许用户`remoteuser`从IP地址`192.168.1.100`访问,可以运行以下命令: sql CREATE USER remoteuser@192