在Ubuntu 24.04上安装MySQL 8.0有多种方法,以下是几种常见的安装方式:
方法一:使用APT官方仓库安装(推荐)
1. 更新软件包索引
bash
sudo apt update
2. 安装MySQL服务器
bash
sudo apt install mysql-server
3. 启动MySQL服务
bash
sudo systemctl start mysql
sudo systemctl enable mysql
4. 检查MySQL状态
bash
sudo systemctl status mysql
方法二:使用MySQL官方仓库安装
略
安全配置
运行安全安装脚本
bash
sudo mysql_secure_installation
按照提示进行安全配置:
-
设置验证密码策略 Y
-
设置root密码
-
移除匿名用户 Y
-
禁止远程root登录 Y
-
移除测试数据库 Y
-
重新加载权限表 Y
基本操作命令
启动/停止/重启MySQL
bash
sudo systemctl start mysql # 启动
sudo systemctl stop mysql # 停止
sudo systemctl restart mysql # 重启
sudo systemctl status mysql # 查看状态
连接MySQL
bash
sudo mysql -u root -p
root默认密码为空,没有密码
配置远程访问(可选)
1. 修改MySQL配置
编辑配置文件:
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 并修改:
text
bind-address = 0.0.0.0
2. 创建远程访问用户
bash
CREATE USER 'pplsunny'@'%' IDENTIFIED BY '1qazxsw2';
GRANT ALL PRIVILEGES ON *.* TO 'pplsunny'@'%';
FLUSH PRIVILEGES;
3. 重启MySQL服务
bash
sudo systemctl restart mysql
常见问题解决
忘记root密码
- 停止MySQL服务:
bash
sudo systemctl stop mysql
- 跳过权限检查启动:
bash
sudo mysqld_safe --skip-grant-tables &
- 连接并重置密码:
bash
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
EXIT;
- 重启MySQL服务:
bash
sudo systemctl restart mysql
查看MySQL版本
bash
mysql --version
验证安装
安装完成后,可以通过以下命令验证:
bash
sudo mysql -u root -p -e "SELECT VERSION();"
这样就在Ubuntu 24.04上成功安装了MySQL 8.0。建议使用第一种方法,因为它最简单且由Ubuntu官方维护。
在Ubuntu 24.04上设置MySQL root密码有多种方法,以下是详细的步骤:
方法一:使用mysql_secure_installation(推荐)
1. 运行安全配置脚本
bash
sudo mysql_secure_installation
2. 按照提示操作
text
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:
-
选择密码验证策略 :建议选择
Y来启用密码强度验证 -
选择密码级别:
-
0 = 低强度
-
1 = 中等强度
-
2 = 高强度
-
bash
Please set the password for root here.
New password: [输入新密码]
Re-enter new password: [再次输入密码]
-
输入并确认root密码
-
移除匿名用户 :选择
Y -
禁止远程root登录 :选择
Y -
移除test数据库 :选择
Y -
重新加载权限表 :选择
Y
方法二:直接使用MySQL命令行
1. 以root身份登录MySQL(初始无密码)
bash
sudo mysql
2. 在MySQL中设置root密码
sql
bash
-- 选择mysql数据库
USE mysql;
-- 设置root用户密码(替换'your_password'为实际密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
方法三:如果已经知道当前密码
1. 登录MySQL
bash
mysql -u root -p
2. 修改密码
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_strong_password';
FLUSH PRIVILEGES;
EXIT;
方法四:使用mysqladmin
bash
sudo mysqladmin -u root password "new_strong_password"
或者如果已经有密码需要修改:
bash
sudo mysqladmin -u root -p'old_password' password "new_strong_password"
验证密码设置
测试新密码登录
bash
mysql -u root -p
输入新设置的密码,应该能成功登录。
检查用户认证信息
sql
SELECT user, host, authentication_string, plugin FROM mysql.user WHERE user = 'root';
密码策略配置(可选)
查看当前密码策略
sql
SHOW VARIABLES LIKE 'validate_password%';
修改密码策略(如果需要)
sql
-- 设置密码长度要求
SET GLOBAL validate_password.length = 8;
-- 设置密码策略级别(0=LOW, 1=MEDIUM, 2=STRONG)
SET GLOBAL validate_password.policy = 1;
-- 使配置永久生效
SET PERSIST validate_password.policy = 1;
常见问题解决
如果无法登录
- 停止MySQL服务:
bash
sudo systemctl stop mysql
- 跳过权限检查启动:
bash
sudo mysqld_safe --skip-grant-tables &
- 重新设置密码:
sql
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
EXIT;
- 重启MySQL服务:
bash
sudo systemctl restart mysql
密码强度要求错误
如果遇到密码不符合策略要求,可以:
-
设置更强的密码
-
或者临时降低密码策略级别
sql
SET GLOBAL validate_password.policy = 0;
安全建议
-
使用强密码:包含大小写字母、数字和特殊字符
-
定期更换密码
-
不要共享root密码
-
为不同应用创建单独的用户
完成以上步骤后,MySQL root用户的密码就设置成功了!
