MySQL,作为一款开源的关系型数据库管理系统,更是许多Web应用和服务的核心组件
本文将详细介绍如何在Ubuntu系统上,通过命令行高效安装并配置MySQL数据库,确保您能够迅速搭建起自己的数据库环境
一、前期准备 在安装MySQL之前,有几项准备工作必不可少,以确保安装过程的顺利进行
1.系统更新: 在安装任何软件包之前,更新您的Ubuntu系统软件包至最新版本是至关重要的
这不仅可以避免潜在的版本冲突,还能确保您获得最新的安全补丁
打开终端,执行以下命令: bash sudo apt update sudo apt upgrade -y `sudo apt update`命令用于更新软件包索引,而`sudo apt upgrade -y`则会自动安装系统中已安装软件包的可用更新
`-y`参数表示自动回答“是”,避免了逐个确认的麻烦
2.检查已安装的MySQL: 在某些情况下,系统中可能已经预装了MySQL或者存在之前安装过的残留文件
通过以下命令检查: bash dpkg -l | grep mysql 如果有相关软件包列出,您可能需要先卸载它们
例如,卸载`mysql-server`可执行: bash sudo apt-get remove mysql-server 若要彻底清除包括配置文件在内的所有内容,使用: bash sudo apt-get purge mysql-server 卸载后,还需手动删除可能残留的相关目录,如`/etc/mysql`和`/var/lib/mysql`等(操作时需谨慎,确保无重要数据留存)
二、安装MySQL 安装MySQL的过程相对简单,Ubuntu官方仓库提供了便捷的安装途径
以下是详细的安装步骤: 1.使用Ubuntu官方仓库安装: 执行以下命令,从Ubuntu官方软件源下载并安装MySQL服务器及其依赖项: bash sudo apt install -y mysql-server 安装过程中,系统会提示您设置`root`用户的密码
请设置一个强密码,包含字母(大小写)、数字和特殊字符,以增强安全性
例如:`MyS3cur3P@ssw0rd!` 2.验证安装: 安装完成后,您可以通过以下命令验证MySQL是否成功安装并正在运行: bash sudo systemctl status mysql 如果MySQL正在运行,结果应显示“active(running)”等字样
三、MySQL初始配置与安全加固 安装完成后,对MySQL进行初始配置和安全加固是确保数据库安全的关键步骤
1.运行安全性脚本: 为提高MySQL的安全性,建议运行官方提供的安全性脚本`mysql_secure_installation`
该脚本会引导您完成一系列安全设置,包括修改root密码、移除匿名用户、禁止远程root登录、移除测试数据库等
bash sudo mysql_secure_installation 根据提示,您可以逐一进行这些安全设置
例如,设置新root密码时,请确保使用一个强密码组合
2.手动修改root密码(可选): 如果您不想使用`mysql_secure_installation`脚本,也可以手动修改`root`密码
首先,以`root`身份登录MySQL: bash sudo mysql -u root -p 然后,在MySQL命令行中执行以下命令以修改`root`用户的密码: sql ALTER USER root@localhost IDENTIFIED BY YourNewStrongPassword!; FLUSH PRIVILEGES; 请将`YourNewStrongPassword!`替换为您希望设置的新密码
输入新密码后,退出MySQL并重新登录以验证密码修改是否生效
3.解决ERROR 1698 (28000)错误: 在MySQL5.7及更高版本中,由于使用了新的插件认证方式,可能会导致通过`sudo`登录MySQL时出现ERROR1698(28000)错误
要解决这个问题,您可以按照以下步骤操作: - 以`root`用户登录MySQL: bash sudo mysql - 修改MySQL用户的认证方式: sql ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY your_password; 请将`your_password`替换为您为`root`用户设置的密码
-刷新权限: sql FLUSH PRIVILEGES; -退出MySQL并重新登录
四、数据库用户与权限管理 在MySQL中,合理管理数据库用户和权限是确保数据库安全和数据完整性的重要措施
1.创建数据库和用户: 使用`root`用户登录MySQL后,您可以创建新的数据库和用户,并为用户分配相应的权限
例如,创建一个名为`db_web_monitor`的数据库和一个名为`xavier`的用户: sql CREATE DATABASE db_web_monitor; GRANT ALL PRIVILEGES ON db_web_monitor- . TO xavier@localhost IDENTIFIED BY xavier; 这样,`xavier`用户就可以在本机登录MySQL并操作`db_web_monitor`数据库了
2.配置远程访问: 如果您需要在其他计算机上通过网络访问MySQL服务器,则需要配置允许远程访问
首先,编辑MySQL配置文件: bash sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 找到`bind-address`行,并将其注释掉或更改为`0.0.0.0`以允许监听所有IP地址
保存并关闭文件后,重启MySQL服务以应用更改: bash sudo systemctl restart mysql 然后,授予用户远程登录权限
例如,允许`xavier`用户从任意主机访问`db_web_monitor`数据库: sql GRANT ALL PRIVILEGES ON db_web_monitor- . TO xavier@% IDENTIFIED BY xavier; 五、启动与停止MySQL服务 在安装完成后,MySQL服务通常会自动启动
但如果您需要手动启动、停止或重启My