MariaDB简介
- MariaDB 是RHCE7 默认的关系型数据库管理系统
- MariaDB 是Mysql 的一个开源分支
- MariaDB 是由 Mysql 的创始人主导开发
- MariaDB 完全兼容 Mysql,包括 API 和命令行
- MariaDB 的名字来之创始人女儿的名字
MariaDB 的特点
- 运行速度快
- 更好的功能测试
- 更少的警告和 bug
- 更快的复制查询处理
MariaDB 的安装与设置
- 安装 MariaDB 服务端和客户端
yum groupinstall mariadb mariadb-client -y
- 启动 MariaDB 服务
systemctl start mariadb.service
- 设置 MariaDB 服务开机启动
systemctl enable mariadb.service
- 初始化 MariaDB 运行环境(MariaDB 默认安装后是不安全的,运行mysql_secure_installation 命令安全初始化服务)
Enter current password for root (enter for none): 输入密码,密码为空,直接回车 Set root password? [Y/n] 设置密码 <Y 为设置> New password: 新密码 Re-enter new password: 确认新密码 Remove anonymous users? [Y/n] 移出匿名用户 <Y 为移出> Disallow root login remotely? [Y/n] 不允许root远程登陆 <Y 为不允许> Remove test database and access to it? [Y/n] 移除测试数据库 <Y 为移出> Reload privilege tables now? [Y/n] 现在重新加载权限表 <Y 为现在加载>
- 设置防火墙规则,允许远程连接 MariaDB (RHEL7 系统为安全考虑默认拒绝所有危险网络连接请求,包括对 MariaDB 的服务请求)
firewall-cmd --permanent --add-server=mysql firewall-cmd --reload
MariaDB 的连接与使用
连接本地 MariaDB 和连接 Mysql 的命令一样
mysql -uUSER -pPASSWPRD
#USER 为连接用户名
#PASSWPRD 为USER设置的密码
MariaDB 常用命令
SHOW DATABASES; #查看当前 MariaDB 中的所有数据库名
CREATE DATABASE databasename; #创建数据库
USE databasename; #连接特定数据库
SHOW TABLES; #查看当前数据库中所有表
DESCRIBE tablename; #查看特定表结构
INSERT INTO tablename (column1,column2 ...) VALUES (value1, value2 ....); #在特定表中插入数据字段
SELECT column FROM tablename; #查询数据
SELECT table.column FROM tableA as A, tableB as B WHERE A.column=B.column AND A.column like "value";
给数据库和特定表授权并创建用户设置密码
GRANT PRIVILEGES ON database.tablename TO usrname@hostname IDENTIFIED BY "password";
FLUSE PRIVILEGES;
备份数据库
通过 mysqldump 命令逻辑备份 MariaDB 数据库
mysqldump -u username -p database > /backup/file.dump
#username 是用来备份并对 database 有相应权限的用户
#-p 会提示输入密码
#database 为需要备份的数据库名
#file.dump 为备份到处的文件名
恢复数据库(恢复的数据库必须是存在的)
mysql -uUSER -p database < /backup/file.dump
#USER 为连接用户名
#-p 会提示输入密码
#database 为要恢复的数据库名
#/backup/file.dump 为恢复的源数据库