
Linux MariaDB数据库应用与管理
Linux MariaDB数据库应用与管理
引导
- 了解MariaDB与MySQL的区别与联系
- 掌握MariaDB的安装与启停控制
- 掌握MariaDB用户的创建与权限管理
- 掌握使用phpMyAdmin管理MariaDB
- 熟悉phpMyAdmin的下载、安装和配置
- 熟悉phpMyAdmin配置文件的主要项
MariaDB由MySQL创始人Michael Widenius主导开发,名称源于其女儿Maria。作为MySQL的分支产品,MariaDB具有以下特点:
- 完全兼容MySQL:API和命令行与MySQL完全兼容,可无缝替代
- 开源免费:采用GPL授权许可
- 性能优化:扩展功能和存储引擎优于MySQL
- 行业认可:被Red Hat、Wikipedia、Google等巨头采用
- 技术自主:规避Oracle对MySQL的技术垄断风险
2013年起,RHEL 7及后续版本默认使用MariaDB替代MySQL。本项目将系统介绍MariaDB的安装配置、用户管理及可视化工具phpMyAdmin的应用。
实施
1:安装Linux下的MariaDB数据库
1.1:MariaDB与MySQL的关系
特性 | MariaDB | MySQL |
---|---|---|
开发背景 | MySQL社区分支 | Oracle公司维护 |
兼容性 | 完全兼容MySQL(API/命令行) | 原生版本 |
性能优化 | 改进存储引擎(如Aria)、并行复制 | 常规优化 |
版本对应 | MariaDB 5.1.47 → MySQL 5.1.47 | 独立版本号体系 |
迁移难度 | 数据和表定义文件二进制兼容 | 需数据导出导入 |
迁移优势:
- 客户端连接器(PHP/Perl/Python等)无需修改
- 配置文件路径和端口保持一致
- 共享客户端库二进制兼容
1.2:安装与配置MariaDB
-
服务端安装
# 使用yum安装(RHEL/CentOS) yum install mariadb-server # 验证安装 mysqladmin --version # 输出:mysqladmin Ver 9.0 Distrib 5.5.35-MariaDB, for Linux on x86_64
-
关键文件路径
文件类型 路径 配置文件 /etc/my.cnf.d/
数据库文件 /var/lib/mysql/
日志文件 /var/log/mariadb/
系统服务文件 /usr/lib/systemd/system/mariadb.service
-
客户端安装
yum install mariadb # 包含mysql命令行工具
2:MariaDB数据库操作与管理
2.1:服务管控与基础操作
-
服务启停
systemctl start mariadb # 启动服务 systemctl enable mariadb # 设置开机自启 systemctl status mariadb # 查看状态
-
安全初始化
mysql_secure_installation
初始化步骤:
- 设置root密码
- 删除匿名账户
- 禁止root远程登录
- 删除测试数据库
- 刷新权限表
-
登录与退出
# 登录(本地无密码) mysql -u root # 登录(带密码) mysql -u root -p # 退出数据库 MariaDB [(none)]> exit;
2.2:数据库核心操作
-
数据库操作
-- 查看所有数据库 SHOW DATABASES; -- 创建数据库 CREATE DATABASE school; -- 删除数据库 DROP DATABASE test;
-
数据表操作
-- 进入数据库 USE school; -- 创建学生表 CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT, class VARCHAR(20) ); -- 查看表结构 DESCRIBE students;
-
数据增删改查
-- 插入数据 INSERT INTO students (name, age, class) VALUES ('张三', 18, '计算机一班'); -- 查询数据 SELECT * FROM students WHERE class='计算机一班'; -- 更新数据 UPDATE students SET age=19 WHERE name='张三'; -- 删除数据 DELETE FROM students WHERE id=3;
-
备份与恢复
# 备份数据库 mysqldump -u root -p school > school_backup.sql # 恢复数据库 mysql -u root -p school < school_backup.sql
2.3:用户与权限管理
-
创建用户
-- 创建本地用户teacher CREATE USER 'teacher'@'localhost' IDENTIFIED BY 'Teach123!'; -- 授予school数据库所有权限 GRANT ALL PRIVILEGES ON school.* TO 'teacher'@'localhost';
-
权限控制
权限类型 命令示例 说明 全局权限 GRANT SELECT ON *.* TO user
所有数据库查询权限 数据库权限 GRANT INSERT ON db.* TO user
指定数据库插入权限 表级权限 GRANT DELETE ON db.table TO user
特定表删除权限 列级权限 GRANT UPDATE (name) ON ...
仅更新特定列 -
撤销权限
REVOKE DELETE ON school.* FROM 'teacher'@'localhost';
-
删除用户
DROP USER 'olduser'@'localhost';
-
权限表说明
表名 功能描述 user 全局权限和用户账户信息 db 数据库级权限 tables_priv 表级权限 columns_priv 列级权限 procs_priv 存储过程和函数权限
3:使用phpMyAdmin管理MariaDB
3.1:phpMyAdmin功能概述
- 数据库管理:创建/删除数据库
- 表操作:结构修改、索引管理
- 数据操作:CRUD(增删改查)、导入/导出
- 用户管理:账户创建与权限分配
- SQL执行:支持复杂查询和批处理
- 可视化分析:关系视图、查询统计
3.2:安装配置phpMyAdmin
-
安装流程
# 下载最新版(示例版本4.4.15) wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.10/phpMyAdmin-4.4.15.10-all-languages.zip # 解压到Web目录 unzip phpMyAdmin-4.4.15.10-all-languages.zip mv phpMyAdmin-4.4.15.10-all-languages /var/www/html/phpmyadmin # 安装依赖 yum install php-mbstring
-
解决常见错误
# 错误:The mbstring extension is missing vim /etc/php.ini
添加配置:
[mbstring] mbstring.language = Chinese mbstring.internal_encoding = UTF-8 mbstring.http_output = UTF-8
-
配置文件优化
// /var/www/html/phpmyadmin/config.inc.php $cfg['blowfish_secret'] = 'KJHG*&^%$#@!adf123'; // 32位加密密钥 $cfg['Servers'][$i]['auth_type'] = 'cookie'; // 认证方式 $cfg['Servers'][$i]['host'] = 'localhost'; // 数据库主机
-
启用高级功能
-- 导入配置存储SQL mysql -u root -p < /var/www/html/phpmyadmin/sql/create_tables.sql
配置文件激活:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; // 其他表配置参照示例文件启用
3.3:phpMyAdmin操作示例
-
登录界面
访问http://服务器IP/phpmyadmin
,输入数据库账号密码
-
数据库管理
- 创建新数据库:输入名称选择排序规则
- 导入/导出:支持SQL/CSV/JSON等格式
-
SQL查询
- 多标签SQL编辑器
- 语法高亮和自动补全
- 查询结果可视化展示
-
用户权限管理
- 图形化权限分配界面
- 实时显示权限作用范围
- 支持账户有效期设置
最佳实践:生产环境务必禁用
config
认证方式,定期更新phpMyAdmin版本防范安全风险。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 牧之小岛-Allende
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果