MySQL是一款开源的关系型数据库管理系统,广泛应用于各种Web应用及企业级解决方案中
本文将详细介绍如何在Ubuntu上安装和配置MySQL,确保你能够顺利搭建数据库环境
一、准备工作 在开始安装MySQL之前,你需要确保系统已经更新到最新版本,并且拥有足够的权限来安装软件
通常,你需要使用root用户或者具有sudo权限的用户来执行安装命令
1.更新系统包列表 首先,确保你的Ubuntu系统包列表是最新的
这有助于避免在安装过程中遇到依赖性问题
打开终端,输入以下命令: bash sudo apt update sudo apt upgrade -y 这些命令会更新你的包列表并升级所有已安装的包
二、使用Ubuntu官方仓库安装MySQL 1.安装MySQL Server 使用APT(Advanced Package Tool)来安装MySQL服务器
这是最简单和推荐的方法,因为它会自动处理依赖关系并安装所需的软件包
在终端中输入以下命令: bash sudo apt install -y mysql-server 这条命令会安装最新版本的MySQL服务器以及相关依赖项
安装过程中,系统会自动为root用户生成一个临时密码,该密码会记录在MySQL的错误日志文件中
2.安装MySQL开发包 如果你需要开发MySQL应用程序,可以安装包含头文件和动态库文件的开发包: bash sudo apt install -y libmysqlclient-dev 这个包包含了用于开发的MySQL头文件和动态库文件
三、启动并配置MySQL服务 1.启动MySQL服务 安装完成后,你需要启动MySQL服务
使用以下命令: bash sudo systemctl start mysql 2.设置MySQL开机自启动 为了确保MySQL在系统启动时自动运行,你可以使用以下命令设置开机自启动: bash sudo systemctl enable mysql 3.检查MySQL服务状态 使用以下命令检查MySQL服务的状态,确保它正在运行: bash sudo systemctl status mysql 你应该看到类似如下的输出,表示MySQL正在运行: plaintext ● mysql.service - MySQL Community Server Loaded: loaded(/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active(running) since ... 四、处理初始自动生成的用户名和密码 在最新版本的MySQL安装过程中,系统会自动为root用户生成一个临时密码
你需要找到该临时密码并进行更改
1.查看临时密码 安装完成后,MySQL会将临时密码记录在日志文件中
使用以下命令查看日志并获取临时密码: bash sudo grep temporary password /var/log/mysql/error.log 你将看到类似如下的输出: plaintext 【Date Time】【Note】 A temporary password is generated for root@localhost: xXxXxXxXxXx 记下该临时密码(例如xXxXxXxXxXx)
2.运行安全性脚本 为了提高MySQL的安全性,并修改初始密码,建议运行官方提供的安全性脚本: bash sudo mysql_secure_installation 按照提示进行操作: - 输入当前root密码:使用上一步骤中获取的临时密码
- 设置新root密码:根据提示设置一个强密码
-移除匿名用户:建议移除
-禁止远程root登录:建议禁止以提高安全性
-移除测试数据库:建议移除
- 重新加载权限表:选择是以应用更改
示例交互如下: plaintext Enter password for user root: You must change the password now(y/N)? Y New password: Re-enter new password: Password updated successfully! Remove anonymous users?(Y/n) Y Disallow root login remotely?(Y/n) Y Remove test database and access to it?(Y/n) Y Reload privilege tables now?(Y/n) Y 五、修改root初始密码(手动方法) 如果你需要手动修改root密码,可以按照以下步骤操作: 1.登录MySQL 使用当前root密码登录MySQL: bash sudo mysql -u root -p 2.修改root密码 在MySQL命令行中执行以下命令以修改root用户的密码: sql ALTER USER root@localhost IDENTIFIED BY YourNewStrongPassword!; FLUSH PRIVILEGES; 将`YourNewStrongPassword!`替换为你希望设置的新密码
3.验证密码修改 退出MySQL并重新登录以验证新密码是否生效: bash exit sudo mysql -u root -p 输入新密码后,你应该能够成功登录
4.忘记root密码时的重置方法 如果你忘记了root密码,可以通过以下步骤重置: -停止MySQL服务: bash sudo systemctl stop mysql - 以安全模式启动MySQL: bash sudo mysqld_safe --skip-grant-tables & - 登录MySQL: bash sudo mysql -u root - 修改root密码: sql FLUSH PRIVILEGES; ALTER USER root@localhost IDENTIFIED BY YourNewStrongPassword!; FLUSH PRIVILEGES; EXIT; -停止安全模式下的MySQL: 首先找到MySQL进程ID: bash sudo killall mysqld 然后重新启动MySQL服务: bash sudo systemctl start mysql 使用新密码登录: bash sudo mysql -u root -p 六、验证安装 1.登录MySQL 使用你在`mysql_secure_installation`或手动修改时设置的新密码登录MySQL: bash sudo mysql -u root -p 2.检查MySQL版本 在MySQL命令行中运行以下命令来检查MySQL的版本信息: sql SELECT VERSION(); 你将看到类似如下的输出,显示MySQL的版本号: plaintext +-----------+ | VERSION() | +-----------+ |8.0.xx| +-----------+ 七、配置防火墙(可选) 如果你需要通过网络访问MySQL,需要确保防火墙允许3306端口的流量
Ubuntu通常使用UFW(Uncomplicated Firewall)作为防火墙管理工具
1.允许MySQL流量 使用以下命令允许MySQL流量: bash sudo ufw allow MySQL 或者更具体地: bash sudo ufw allow3306/tcp 2.重新加载防火墙规则 如果你之前已经配置了UFW防火墙规则,需要重新加载以应用更改: bash sudo ufw reload 为了安全起见,建议仅允许受信任的IP地址访问MySQL服务
八、使用MySQL官方APT仓库安装最新版本(可选) 如果你需要安装MySQL的最新版本,可以使用MySQL官方提供的APT仓库
1.下载并添加MySQL APT仓库 首先,下载MySQL APT仓库配置包: bash wget https://dev.mysql.com/get/mysql-apt-config_0.8.xx-1_all.deb 注意:请访问MySQL APT Repository页面,确保下载最新版本的`mysql-apt-config`包
2.安装MySQL APT仓库配置包 使用dpkg安装下载的包: bash sudo dpkg -i mysql-apt-config_0.8.xx-1_all.deb 在安装过程中,你将看到一个配置界面,选择你需要的MySQL版本(如8.0),然后确认
3.更新系统包列表 更新你的系统包列表以包含MySQL官方仓库: bash sudo apt update 4.安装MySQL Server 使用APT安装MySQL服务器: bash sudo apt install -y mysql-server 5.安装MySQL开发包 如果需要,安装MySQL开发包: bash sudo apt install -y libmysqlclient-dev 6.完成MySQL服务的启动、配置、安全性设置和验证 按照之前的步骤四到步骤七完成MySQ