安装MariaDB
Mariadb安装说明
完整的 Mariadb数据库安装要求安装 mariadb和 mariadb- client软件组
以下软件包将与 mariadb组一起安装:
- mariadb-server: Mariadb服务器和相关文件(必需软件包)
- mariadb-bench: Mariadb基准测试脚本和数据(可选软件包)
- mariadb-test: 与 Mari ADB一起分发的测试套件(可选软件包)
以下软件包将与 mariadb- -client组一起安装:
- mariadb: 由社区开发的MySQL分支(必需软件包)
- MySQL-python: Python的Mariadb接口(默认软件包)
- mysql- connector-odbc: MariaDB的ODBC驱动程序(默认软件包)
- libabi-dbd-mysql: 适用于libabi的 Mariadb插件(可选软件包)
- mysql-connector: java-适用于 Mariadb的本机Java驱动程序(可选软件包)
- perl-DBD-MySQL: 适用于Perl的 MariaDB接口(可选软件包)
/etc/my.cnf
文件包含 MariaDB的默认配置,如数据目录、套接字绑定以及日志和错误文件位置
开始安装
- 安装mariadb和mariadb-client组
yum groupinstall mariadb mariadb-client -y
- 启动并启用mariadb服务
systemctl start mariadb systemctl enable mariadb
- 验证mariadb是否在侦听接口
ss -tulpn | grep mysql
- 启用
skip-networking
指令 编辑文件/etc/my.cnf
,在[mysqld]
中添加下列内容
skip-networking=1
- 重启并再次验证
systemctl restart mariadb ss -tulpn | grep mysql
- 使用
mysql_secure_installation
修改密码,问题默认Y
mysql_secure_installation
- 验证登录,查看是否删除
test
数据库 - 登录mysql数据库
mysql -u root -p
- 查看数据库
SHOW DATABASES;
如果无报错,则成功。
基础使用
使用mariadb数据库
安装了 mariadb- client组便会提供一个名为mysql的程序。通过该程序,可以连接到本地或远程
Mariadb数据库服务器
mysql -u root -h localhost -p
mysql
:要连接到 Mariadb数据库服务器的客户端。-u
:用于指定此连接的用户名的选项。root
:此连接的用户名-h
:用于指定此连接的主机名的选项。如果未指定,则默认值为localhostlocalhost
:此连接的主机名-p
:用于提示密码的选项
默认数据库里面唯一可以删除的是
test
- 查看数据库
SHOW DATABASES;
- 创建数据库
CREATE DATABASE databasename;
- 连接数据库
USE databasename;
- 查看数据库里面的表
SHOW TABLES;
- 查看表的属性
DESCRIBE tablename;
使用SQL
- 插入数据,value和name对应,数值型可不用引号
INSERT INTO tablename(name1, name2, name3) VALUES('value1', 'value2', 'value3');
- 删除数据,where后面是约束条件,name是列名
DELETE FROM tablename WHERE name = 'value';
- 更新数据,where后面是约束条件,name是列名
UPDATE tablename SET name = 'value', name = 'value' WHERE name = 'value';
- 查询数据 查询需要的看到的列
SELECT name1, name2, name3 FROM tablename;
查询所有属性
SELECT * FROM tablename;
使用where语句过滤结果
SELECT * FROM tablename WHERE id = 1;
where子句的常用运算符
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于注:在某些版本的SQL中,此运算符可能写作! |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 介于某个闭区间 |
LIKE | 搜索某种模式bn |
IN | 指定某一列的多个可能值 |
配置用户和访问权限
使用Mariadba创建用户帐号
创建多个名称相同但特权不同的用户账户
CREATE USER username@localhost IDNETIFIED BY 'xxxxxx';
username@localhost:该账户的用户名/主机名,使用'user_name'@'host_name'
.
‘xxxxxx’:该账户密码
该用户目前没有任何特权。下面是查看用户信息。
SELECT host, user, password FROM user WHERE user = 'username';
用户帐号权限
账户 | 描述 |
---|---|
username@’localhost’ | 用户mobius只能从本地主机进行连接 |
username@’192. 168.1.5′ | 用户mobius 可以从主机192. 168.1.5进行连接 |
username@’192.168.1.%’ | 用户mobius 可以从任何属于网络192.168.1.0 的主机进行连接 |
username@’%’ | 用户mobius 可以从任何主机进行连接 |
username@’2000:472: 18:b51 :c32:a21′ | 用户mobius 可以从主机2000:472: 18:b51 :c32:a21进行连接 |
授予和撤销权限
特权是指用户在MariaDB 中可以具有的权限。特权分为:
- 全局特权,如CREATE USER 和SHOW DATABASES, 用于管理数据库服务器自身。
- 数据库特权, 如CREATE, 用于创建数据库以及在高级别使用数据库。
- 表特权,如CRUD命令,用于创建表和操作数据库中的数据
- 列特权,用于授予与表类似的命令用法,但是针对特定列(一般很少)。
- 其他更细致的特权,在MariaDB 文档中有详细讨论。
向数据库中某表为某本地用户添加增删查改的权限
GRANT SELECT, UPDATE, DELETE, INSERT ON databasename.tablename TO username@localhost;
授权示例
授权 | 描述 |
---|---|
GRANT SELECT ON database. table TO username@hostname | 向特定用户授子对特定数据库中特定表的选择特权 |
GRANT SELECT ON database.* TO username@hostname | 向特定用户授予对特定数据库中所有表的选择特权 |
GRANT SELECT ON *.* TO username@hostname | 向特定用户授予对所有数据库中所有表的选择特权 |
GRANT CREATE, ALTER, DROP ON database.* TO username@hostname | 向特定用户授予在特定数据库中创建、更改和丢弃表的特权 |
GRANT ALL PRIVILEGES ON *.* TO username@hostname | 向特定用户授予对所有数据库的所有可用特权事实上是创建一个超级用户(类似于root用户) |
REVOKE语句可撤销帐户的特权。连接的用户必须具有GRANT OPTION特权并且具有要撤销的特权,才能撤销特权。
REVOKE SELECT, UPDATE, DELETE, INSERT ON databasename.tablename FROM username@localhost;
查看用户的权限列表
SHOW GRANT FOR username@localhost;
在授予或撤销某项权限后,需要刷新一下所有权限。
FLUSH PRIVILEGES;
删除某个用户,和创建是一样的格式
DROP USER username@localhost;
备份和恢复MariaDB数据库
物理机很多时候是容易崩溃的,所以需要备份数据库。
逻辑备份
通过mysqldump
命令来备份
备份单个数据库
mysqldump -u root -p databasename > /backup/databasename.dump
备份所有数据库
mysqldump -u root -p --all-databases > /backup/mariadb.dump
重要选项
选项 | 描述 |
---|---|
–add-drop-tables | 告知MariaDB 在每个CREATE TABLE 语句前面添加一个DROP TABLE 语句 |
–no-data | 仅转储数据库结构,不转储内容 |
–lock-all-tables | 在复制完成后,无法在数据库中的任何位置插入新记录。此选项对于确保备份完整性非常重要。 |
–add-drop-databases | 告知MariaDB 在每个CREATE DATABASE 语句前面添加一个DROP DATABASE语句 |
逻辑恢复
使用mysql来恢复备份数据库中某个数据库
mysql -u root -p databasename < /backup/mariadb.dump
备份的只是去官网更加标准:
https://mariadb.com/kb/en/backup-and-restore-overview/
文中有文字错误和语义错误请留言,谢谢啦!