菜鸟科技网

Ubuntu安装MySQL命令是什么?

在Ubuntu系统中安装MySQL数据库是一个常见的需求,无论是用于开发环境还是生产环境,正确的安装步骤和配置都能确保数据库的稳定运行,以下是详细的安装命令及操作流程,涵盖从环境准备到安全配置的全过程。

Ubuntu安装MySQL命令是什么?-图1
(图片来源网络,侵删)

环境准备

在安装MySQL之前,建议先更新系统的软件包列表,确保所有依赖项都是最新的,打开终端,执行以下命令:

sudo apt update
sudo apt upgrade -y

检查系统是否已安装MySQL,可以通过以下命令:

mysql --version

如果已安装,建议先卸载旧版本以避免冲突:

sudo apt remove --purge mysql* -y
sudo apt autoremove -y
sudo apt autoclean -y

安装MySQL服务器

Ubuntu的官方软件源中提供了MySQL的安装包,推荐使用apt工具进行安装,执行以下命令:

Ubuntu安装MySQL命令是什么?-图2
(图片来源网络,侵删)
sudo apt install mysql-server -y

安装过程中,系统会提示配置root密码,建议设置一个强密码并妥善保存,安装完成后,启动MySQL服务并设置为开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

验证服务状态:

sudo systemctl status mysql

如果显示active (running),则表示安装成功。

安全配置

MySQL安装后,运行安全配置脚本可以增强安全性,包括设置root密码、移除匿名用户、禁止远程root登录等,执行以下命令:

Ubuntu安装MySQL命令是什么?-图3
(图片来源网络,侵删)
sudo mysql_secure_installation

脚本会分步引导完成以下操作:

  1. 验证root密码:输入之前设置的root密码。
  2. 设置密码策略:选择密码验证强度(0-LOW, 1-MEDIUM, 2-STRONG)。
  3. 移除匿名用户:建议选择Y
  4. 禁止root远程登录:根据需求选择,生产环境建议选择Y
  5. 移除测试数据库:建议选择Y
  6. 重新加载权限表:选择Y使配置生效。

配置MySQL字符集

为避免中文乱码问题,需修改MySQL的字符集配置,编辑my.cnf文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]部分添加以下内容:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

保存文件后,重启MySQL服务:

sudo systemctl restart mysql

验证字符集设置:

mysql -u root -p -e "SHOW VARIABLES LIKE 'character_set_server';"

创建数据库和用户

登录MySQL:

sudo mysql -u root -p

执行以下SQL命令创建数据库和用户(示例数据库名为mydb,用户名为myuser):

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

常用管理命令

以下是MySQL的常用管理命令,方便日常操作: | 功能 | 命令 | |------------------------|------------------------------------------| | 登录MySQL | mysql -u 用户名 -p | | 退出MySQL | EXIT;Ctrl+D | | 查看所有数据库 | SHOW DATABASES; | | 选择数据库 | USE 数据库名; | | 查看表 | SHOW TABLES; | | 备份数据库 | mysqldump -u 用户名 -p 数据库名 > 备份文件.sql | | 恢复数据库 | mysql -u 用户名 -p 数据库名 < 备份文件.sql |

故障排查

如果遇到MySQL无法启动或连接问题,可通过以下方式排查:

  1. 查看错误日志
    sudo tail -f /var/log/mysql/error.log
  2. 检查端口占用
    sudo netstat -tuln | grep 3306
  3. 重置root密码(若忘记密码):
    • 停止MySQL服务:sudo systemctl stop mysql
    • 跳过权限表启动:sudo mysqld_safe --skip-grant-tables &
    • 无密码登录并重置密码:
      UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
      FLUSH PRIVILEGES;
      EXIT;
    • 重启MySQL服务:sudo systemctl restart mysql

相关问答FAQs

问题1:如何卸载MySQL并清理残留文件?
解答:执行以下命令完全卸载MySQL:

sudo systemctl stop mysql
sudo apt remove --purge mysql-server mysql-client mysql-common -y
sudo apt autoremove -y
sudo apt autoclean -y
sudo rm -rf /var/lib/mysql /etc/mysql
sudo deluser mysql

问题2:如何允许远程连接MySQL数据库?
解答:首先编辑MySQL配置文件,注释掉bind-address = 127.0.0.1

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后创建允许远程连接的用户并授权:

CREATE USER 'remote_user'@'%' IDENTIFIED BY '远程密码';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

最后重启MySQL服务,并确保防火墙开放3306端口:

sudo ufw allow 3306/tcp
sudo systemctl restart mysql
分享:
扫描分享到社交APP
上一篇
下一篇