MySQL 是一个广泛使用的开源关系数据库管理系统。在 Linux 下安装 MySQL 是一个常见的任务,本文将详细介绍如何在 Linux 系统(包括 Ubuntu 和 CentOS)上安装和配置 MySQL。
🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:
gylzbk
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【MySQL】Linux(Ubuntu/CentOS)下安装MySQL详细教程
1️⃣ 在 Ubuntu 上安装 MySQL
1.1 更新软件包列表
首先,更新你的软件包列表:
sudo apt update
1.2 安装 MySQL 服务器
使用以下命令安装 MySQL 服务器:
sudo apt install mysql-server
1.3 启动 MySQL 服务
安装完成后,启动 MySQL 服务:
sudo systemctl start mysql
1.4 检查 MySQL 服务状态
检查 MySQL 服务是否正常运行:
sudo systemctl status mysql
1.5 安全设置
运行 mysql_secure_installation
脚本进行安全设置,包括设置 root 密码、删除匿名用户、禁止远程 root 登录等:
sudo mysql_secure_installation
按照提示完成安全设置。
1.6 登录 MySQL
使用以下命令登录 MySQL:
sudo mysql -u root -p
输入你在安全设置中创建的 root 密码,即可进入 MySQL 命令行界面。
2️⃣ 在 CentOS 上安装 MySQL
2.1 添加 MySQL Yum 存储库
首先,添加 MySQL Yum 存储库:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.2 安装 MySQL 服务器
使用以下命令安装 MySQL 服务器:
sudo yum install mysql-server
2.3 启动 MySQL 服务
安装完成后,启动 MySQL 服务:
sudo systemctl start mysqld
2.4 检查 MySQL 服务状态
检查 MySQL 服务是否正常运行:
sudo systemctl status mysqld
2.5 获取临时 root 密码
MySQL 安装完成后,会自动生成一个临时的 root 密码。你可以在 /var/log/mysqld.log
文件中找到这个密码:
sudo grep 'temporary password' /var/log/mysqld.log
复制临时密码备用。
2.6 安全设置
运行 mysql_secure_installation
脚本进行安全设置,包括设置 root 密码、删除匿名用户、禁止远程 root 登录等:
sudo mysql_secure_installation
按照提示输入临时密码,并设置新的 root 密码。
2.7 登录 MySQL
使用以下命令登录 MySQL:
mysql -u root -p
输入你在安全设置中创建的 root 密码,即可进入 MySQL 命令行界面。
3️⃣ 配置 MySQL
3.1 修改 MySQL 配置文件
MySQL 的配置文件通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf
(Ubuntu)或 /etc/my.cnf
(CentOS)。你可以根据需要修改配置文件中的参数,例如绑定地址、端口号等。
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu
sudo nano /etc/my.cnf # CentOS
修改完毕后,保存并退出。
3.2 重启 MySQL 服务
修改配置文件后,需要重启 MySQL 服务使其生效:
sudo systemctl restart mysql # Ubuntu
sudo systemctl restart mysqld # CentOS
3.3 创建新用户和数据库
登录 MySQL 后,可以创建新的用户和数据库:
-- 创建数据库
CREATE DATABASE mydatabase;
-- 创建用户并授权
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
4️⃣ 常见问题及解决方法
4.1 无法启动 MySQL 服务
如果在启动 MySQL 服务时遇到问题,可以查看 MySQL 日志文件以获取更多信息。日志文件通常位于 /var/log/mysql/error.log
(Ubuntu)或 /var/log/mysqld.log
(CentOS)。
sudo tail -f /var/log/mysql/error.log # Ubuntu
sudo tail -f /var/log/mysqld.log # CentOS
4.2 忘记 MySQL root 密码
如果忘记了 MySQL 的 root 密码,可以按照以下步骤重置密码:
-
停止 MySQL 服务:
sudo systemctl stop mysql # Ubuntu sudo systemctl stop mysqld # CentOS
-
启动 MySQL 服务并绕过权限表:
sudo mysqld_safe --skip-grant-tables &
-
使用 root 用户登录 MySQL(不需要密码):
mysql -u root
-
切换到
mysql
数据库并重置 root 密码:USE mysql; UPDATE user SET authentication_string=PASSWORD('newpassword') WHERE User='root'; FLUSH PRIVILEGES;
-
重新启动 MySQL 服务:
sudo systemctl start mysql # Ubuntu sudo systemctl start mysqld # CentOS
4.3 MySQL 远程连接问题
如果需要允许 MySQL 远程连接,可以按照以下步骤进行配置:
-
修改 MySQL 配置文件,注释掉或修改
bind-address
配置项:# /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu # /etc/my.cnf # CentOS #bind-address = 127.0.0.1
-
重启 MySQL 服务:
sudo systemctl restart mysql # Ubuntu sudo systemctl restart mysqld # CentOS
-
为远程用户授权:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword'; FLUSH PRIVILEGES;
-
确保防火墙允许 MySQL 端口(默认 3306):
sudo ufw allow 3306 # Ubuntu sudo firewall-cmd --permanent --add-service=mysql # CentOS sudo firewall-cmd --reload # CentOS
5️⃣ 总结
通过本文,你应该已经掌握了在 Linux 系统(包括 Ubuntu 和 CentOS)上安装和配置 MySQL 的方法。以下是主要步骤的总结:
- 更新软件包列表:确保你的系统软件包是最新的。
- 安装 MySQL 服务器:通过包管理工具安装 MySQL 服务器。
- 启动 MySQL 服务并检查状态:确保 MySQL 服务正常运行。
- 运行
mysql_secure_installation
脚本进行安全设置:包括设置 root 密码、删除匿名用户、禁止远程 root 登录等。 - 登录 MySQL 并进行必要的配置:如创建新用户和数据库,修改配置文件等。