MariaDB笔记

  • 安装MariaDB
  • 初始化maridb数据库
  • 设置防火墙权限
  • 使用数据库
  • 登陆数据库
  • 修改数据库root密码
  • 管理用户及授权
  • 创建数据库用户
  • 给数据库用户授权
  • 移除用户权限
  • 重置用户密码
  • 用户自行修改密码
  • 管理员修改普通用户密码
  • 删除数据库用户
  • 创建数据库与表单
  • 备份和还原数据库
  • 备份数据库
  • 还原数据库
  • 方法1:
  • 方法2:


安装MariaDB

OS Version:RedHat7

# yum安装
yum install maridb maridb-server -y

# 启动maridb服务
systemctl start maridb

# 开机自启maridb服务
systemctl enable maridb



初始化maridb数据库

# 初始化数据库
mysql_secure_installation

## Enter current password for root (enter for none): 输入管理员原始密码,默认为空值,直接回车即可
没有默认密码,直接回车
## Set root password? [Y/n] y(设置管理员密码)
输入两次要设置的数据库root密码
## Remove anonymous users? [Y/n] y(是否删除匿名账户)
输入y,回车
## Disallow root login remotely? [Y/n] y(是否禁止管理员从远程登录)
输入y
## Remove test database and access to it? [Y/n] y(删除测试数据库及其访问权限)
输入y
Reload privilege tables now? [Y/n] y(刷新授权表,让初始化后的设定立即生效)
输入y



设置防火墙权限

# 放行maridb数据库
firewall-cmd --permanent --add-service=mysql

# 重载防火墙服务
firewall-cmd --reload



使用数据库



登陆数据库

# 登陆数据库
mysql -u root -p
## 输入数据库root密码

# 查看所有数据库
show databases;



修改数据库root密码

-- 将root管理员在数据库管理系统中的密码值修改为linux123456
MariaDB [(none)]> SET password = PASSWORD('linux123456');
-- 退出
MariaDB [(none)]> exit

-- 以新密码登陆



管理用户及授权



创建数据库用户

-- 先用root登陆数据库
mysql -u root -p

-- 创建数据库用户aliyun,设置密码为linux123456
MariaDB [(none)]> CREATE USER aliyun@localhost IDENTIFIED BY 'linux123456';

-- 查看用户aliyun是否创建成功
-- 进入mysql库
MariaDB [(none)]> use mysql;

-- 查看aliyun用户
SELECT HOST,USER,PASSWORD FROM user WHERE USER="aliyun";

-- aliyun 用户已经创建完成了,但是没有任何的数据库权限



给数据库用户授权

GRANT命令用于给数据库用户授权

mariadb 重编译 怎么清理 重装mariadb_mysql

命令

作用

GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名

对某个特定数据库中的特定表单给予授权

GRANT 权限 ON 数据库.* TO 用户名@主机名

对某个特定数据库中的所有表单给予授权

GRANT 权限 ON . TO 用户名@主机名

对所有数据库及所有表单给予授权

GRANT 权限1,权限2 ON 数据库.* TO 用户名@主机名

对某个数据库中的所有表单给予多个授权

GRANT ALL PRIVILEGES ON . TO 用户名@主机名

对所有数据库及所有表单给予全部授权(需谨慎操作)

# 登陆root
mysql -u root -p
``
数据库操作
```sql
-- 进入mysql库
use mysql;

-- 对数据库进行授权
-- 授予aliyun用户权限 select查询,update修改,delete删除,insert插入,@localhost 仅允许从本地登陆
-- identified by是指数据库的登录密码
GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO aliyun@localhost identified by 'linux123456';

-- 刷新权限
flush privileges;

-- 查看aliyun的权限
show GRANT FOR aliyun@localhost;



移除用户权限

# 登陆管理员账号
mysql -u root -p

-- 移除用户权限
-- mysql.* 表示多个表
revoke select,update,delete,insert on mysql.* from aliyun@localhost;

-- 查看用户的权限
SHOW GRANTS FOR 'luke'@'localhost';



重置用户密码



用户自行修改密码
# 以账号登陆数据库
mysql -u aliyun -p

-- 修改aliyun用户的密码为linux123
MariaDB [aliyun]>  set password =password['linux123'];



管理员修改普通用户密码
# 以管理员登陆
mysql -u root -p

-- 修改指定用户aliyun的密码为newpwd
MariaDB [root]> SET PASSWORD FOR 'aliyun'@'localhost' = PASSWORD("newpwd");



删除数据库用户

# 进入mysql库
use mysql;

-- 删除数据库用户 aliyun
DROP user aliyun@localhost;



创建数据库与表单

命令用法

作用

CREATE database 数据库名称。

创建新的数据库

DESCRIBE 表单名称;

描述表单

UPDATE 表单名称 SET attribute=新值 WHERE attribute > 原始值;

更新表单中的数据

USE 数据库名称;

指定使用的数据库

SHOW databases;

显示当前已有的数据库

SHOW tables;

显示当前数据库中的表单

SELECT * FROM 表单名称;

从表单中选中某个记录值

DELETE FROM 表单名 WHERE attribute=值;

从表单中删除某个记录值

-- 创建数据库book1
CREATE database book1;

-- 进入book1数据库
use book1;

-- 创建数据表mybook
CREATE TABLE mybook (name char(15),price int,pages int);

-- 查看数据表描述
MariaDB [root]> DESCRIBE mybook;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name  | char(15) | YES  |     | NULL    |       |
| price | int(11)  | YES  |     | NULL    |       |
| pages | int(11)  | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+

-- 向表里插入内容
MariaDB [root]> INSERT INTO mybook(name,price,pages) VALUES('linux高级','60', '518');

-- 查询表里数据是否发生变更
MariaDB [root]> select * from mybook;

-- 修改mybook表中的price值为55
update mybook set price=55;

-- 删除表单
delete from mybook;



备份和还原数据库



备份数据库

# 备份数据库linuxprobe 到/root/linuxprobe.dump
mysqldump -u root -p linuxprobe > /root/linuxprobe.dump
## Enter password: 输入管理员的数据库密码



还原数据库



方法1:

# 从备份文件还原数据库
mysql -u root -p linuxprobe < /root/linuxprobeDB.dump
方法2:
-- 先新建一个数据库
create database 数据库名;
-- 或
create schema 数据库名;

-- 指定数据库编码格式
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 进入空数据库
use 数据库名;

-- 还原数据库
source 备份的数据库.sql;
-- 弹出的提示按y

-- 查看还原的数据表
show tables;