ubuntu 安装mysql

在 Ubuntu 系统中安装 MySQL 的步骤如下:

步骤 1:更新软件包列表

bash 复制代码
sudo apt update

步骤 2:安装 MySQL 服务器

bash 复制代码
sudo apt install mysql-server -y

Ubuntu 22.04/20.04 默认安装 MySQL 8.0,早期版本可能默认使用 MariaDB。

如果需要指定旧版本(如 MySQL 5.7),需添加第三方仓库(见文末"扩展说明")。

步骤 3:初始化安全配置

运行安全脚本,设置 root 密码并移除不安全配置:

bash 复制代码
sudo mysql_secure_installation

根据提示完成以下操作:

选择密码强度验证策略(默认按 ENTER 跳过)。

设置 root 用户的密码。

删除匿名用户(选择 Y)。

禁止 root 远程登录(选择 Y)。

删除测试数据库(选择 Y)。

重新加载权限表(选择 Y)。

步骤 4:验证 MySQL 服务状态

bash 复制代码
sudo systemctl status mysql

正常输出应显示 active (running)。

步骤 5:登录 MySQL

使用 root 用户登录:

bash 复制代码
sudo mysql -u root -p

输入步骤 3 中设置的密码。

步骤 6:基本配置(可选)

1. 创建新用户和数据库

sql 复制代码
-- 创建数据库
CREATE DATABASE mydb;

-- 创建用户并设置密码
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';

-- 授予权限
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

2. 允许远程访问

修改配置文件:

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address 并改为:

bash 复制代码
bind-address = 0.0.0.0

重启 MySQL:

bash 复制代码
sudo systemctl restart mysql

为用户授权远程访问:

sql 复制代码
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

步骤 7:防火墙配置(可选)

如果启用了 ufw 防火墙,开放 MySQL 默认端口(3306):

bash 复制代码
sudo ufw allow 3306/tcp
sudo ufw reload

常见问题解决

1. 忘记 root 密码

停止 MySQL 服务:

bash 复制代码
sudo systemctl stop mysql

启动 MySQL 无密码模式:

bash 复制代码
sudo mysqld_safe --skip-grant-tables &

登录并重置密码:

sql 复制代码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
EXIT;

重启 MySQL 服务。

2. 服务启动失败

检查错误日志:

bash 复制代码
sudo tail -n 50 /var/log/mysql/error.log

扩展说明

1. 安装特定版本(如 MySQL 5.7)

添加 MySQL 官方仓库:

bash 复制代码
wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.28-1_all.deb

(安装过程中选择所需版本)

更新并安装:

bash 复制代码
sudo apt update
sudo apt install mysql-server=5.7.* -y

2. 完全卸载 MySQL

bash 复制代码
sudo apt purge mysql-server mysql-client mysql-common
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt autoremove

后续操作建议

定期备份:使用 mysqldump 备份数据库:

bash 复制代码
mysqldump -u root -p mydb > mydb_backup.sql

监控工具:安装 mytop 或 phpMyAdmin 管理数据库。

性能优化:调整 my.cnf 配置文件(如缓存大小、连接数)。

通过以上步骤,你可以在 Ubuntu 系统上快速部署并配置 MySQL。

相关推荐
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
数据技术说1 天前
MySQL 迁移实战——如何实现真正的"零改造"平滑切换
mysql
XIAOHEZIcode3 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫5 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8785 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H6 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶7 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵7 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking7 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员