温馨提示×

Ubuntu MariaDB使用教程有哪些

小樊
42
2025-12-30 08:37:01
栏目: 云计算

Ubuntu 上 MariaDB 使用教程精选

一 安装与初始化

  • 更新索引并安装:sudo apt update && sudo apt install mariadb-server -y;安装完成后服务通常会自动启动。
  • 验证安装与版本:mariadb --version;登录测试:sudo mysql -u root -p。
  • 运行安全初始化:sudo mysql_secure_installation,按提示设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试库并刷新权限。
  • 服务管理:sudo systemctl start|stop|restart|status mariadb;如需开机自启:sudo systemctl enable mariadb。
  • 版本选择与更新:Ubuntu 官方仓库版本可能偏旧;如需更新版本,可添加 MariaDB 官方 APT 仓库后安装指定版本(如 10.6)。

二 安全加固与远程访问

  • 安全基线:始终执行 mysql_secure_installation;生产环境建议仅允许 root 从 localhost 登录,按需创建具备最小权限的业务账号。
  • 远程访问步骤:
    1. 创建可远程用户(示例):CREATE USER ‘myuser’@‘%’ IDENTIFIED BY ‘StrongPassword123!’; GRANT ALL PRIVILEGES ON mydb.* TO ‘myuser’@‘%’; FLUSH PRIVILEGES;
    2. 修改绑定地址:编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address 设为 0.0.0.0;
    3. 开放防火墙:sudo ufw allow 3306/tcp && sudo ufw reload;
    4. 远程连接测试:使用主机 IP、端口 3306、用户名与密码连接。
  • 加固建议:仅开放可信 IP、启用 SSL/TLS 加密传输、定期更新 MariaDB 版本与补丁。

三 常用管理与 SQL 入门

  • 登录与基础:mysql -u root -p;查看版本:SELECT VERSION(); 查看库:SHOW DATABASES;
  • 库与用户:
    • 建库(UTF8MB4):CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • 建用户并授权:CREATE USER ‘myuser’@‘localhost’ IDENTIFIED BY ‘pwd’; GRANT ALL PRIVILEGES ON mydb.* TO ‘myuser’@‘localhost’; FLUSH PRIVILEGES;
  • 表与数据:
    • 建表:CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
    • 增删改查:INSERT/SELECT/UPDATE/DELETE 常规用法;
  • 运维常用:mysqladmin version、mysqladmin create/drop 等命令行工具可快速完成基础管理。

四 备份恢复与性能优化

  • 备份与恢复:
    • 备份单库:mysqldump -u root -p mydb > mydb_backup.sql;
    • 恢复:mysql -u root -p mydb < mydb_backup.sql;
    • 定时备份示例(crontab):0 2 * * * mysqldump -u root -p’YourRootPassword’ mydb > /path/to/backup/mydb_$(date +%F).sql。
  • 性能与监控:
    • 配置优化(示例,按内存与并发调整):
      • InnoDB 缓冲池:innodb_buffer_pool_size = 2G(建议为物理内存的 50–70%);
      • 慢查询日志:slow_query_log = 1;slow_query_log_file = /var/log/mysql/slow-queries.log;long_query_time = 2;
      • 最大连接数:max_connections = 500;
    • 工具与日志:使用 mysqltuner 定期体检;分析慢查询日志定位瓶颈。

五 常见问题与进阶

  • 常见问题速解:
    • 连接被拒绝:检查服务是否运行(systemctl status mariadb)、防火墙是否放行 3306、bind-address 是否为 0.0.0.0;
    • 忘记 root 密码:停止服务,使用 mysqld_safe --skip-grant-tables 启动,登录后 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘NewPass’; 重启服务;
    • WSL 环境:部分 Ubuntu/WSL 镜像中 root 默认使用 auth_socket 插件,可能无需密码即可 sudo mysql 登录;如需密码登录,需调整认证方式后再用 mysql -u root -p。
  • 进阶方向:主从复制、SSL/TLS 加密、按业务拆分账号与权限、定期审计与更新。

0