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命令用于给数据库用户授权
命令 | 作用 |
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;