maridb笔记



OS Version:RedHat7

安装maridb

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

maridb数据库安装/备份/还原_数据库

命令

作用

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

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

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

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

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

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

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

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

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

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

# 登陆root
mysql -u root -p

# 进入mysql库
use mysql;

# 对数据库进行授权
## 授予aliyun用户权限 select查询,update修改,delete删除,insert插入,@localhost 仅允许从本地登陆
GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO aliyun@localhost;

# 查看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: 输入管理员的数据库密码

还原数据库

# 从备份文件还原数据库
mysql -u root -p linuxprobe < /root/linuxprobeDB.dump