mysql数据库(mariadb安装与基本信息,数据库管理,密码管理,用户授权,数据库备份)
一.数据库
1.数据库就是个高级的表格软件
2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver
3.Mysql (SUN ----> Oracle)
4.mariadb
二.mariadb的安装
dnf install mariadb-server.x86_64 -y
三.软件基本信息
mariadb.service #启动服务
3306 #默认端口号
/etc/my.cnf #主配置文件
/var/lib/mysql #数据目录
四.数据库开启
systemctl enable --now mariadb
五.数据库的安全初始化
1.关闭数据库开放端口
vim /etc/my.cnf
[mysqld]
skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql #此命令查询不到端口
2.执行安全初始化脚本
mysql_secure_installation
mysql ##默认不需要密码,初始化完毕后需要
mysql -uroot -p ## -u 指定登陆用户 -p 密码
六.数据库的基本管理
1.查看
SHOW DATABASES; ##显示库名称
USE mysql; ##进入mysql库
SHOW TABLES; ##显示库中的所有表
SELECT * FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段
2.新建
CREATE DATABASE westos; ##新建库
CREATE TABLE linux (username varchar(6) not null,password varchar(30) not null); ##新建表
DESC linux; ##显示表结构
INSERT INTO linux VALUES ('user1','123'); #插入数据
FLUSH PRIVILEGES; #刷新数据库
3.更改
ALTER TABLE redhat RENAME linux; #重命名数据库
ALTER TABLE linux ADD class varchar(10) AFTER password; #添加表格条目
ALTER TABLE linux DROP class; #删除表格条目
UPDATE linux SET class='bts' WHERE username='jk'; #更新表格内容
4.删除
DELETE from linux where username='user2' and age='18';
DROP TABLE linux;
DROP DATABASE westos;
七.数据密码管理
1.数据密码更改(记得初始密码)
mysqladmin -uroot -plee password westos
2.数据库密码**
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
UPDATE mysql.user set Password=password('lee') WHERE User='root'; ##RHEL7
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; ##RHEL8
flush privileges;
ps aux | grep mysql
kill -9 id mysql的所有进程
systemctl start mariadb
八.用户授权
CREATE USER [email protected] identified by '123'; ##只能用localhost登陆
CREATE USER [email protected]% identified by '123'; ##可以通过网络或localhost
mysql -ulinux -p123 -h localhost
GRANT INSERT,SELECT ON westos.* TO [email protected];
SHOW GRANTS for [email protected];
REVOKE SELECT ON westos.* FROM [email protected];
DROP user [email protected];
九.数据库的备份
mysqldump -uroot -p123 --all-database #全部备份
mysqldump -uroot -p123 --all-database --no-data #不备份数据
mysqldump -uroot -p123 westos #只备份westos数据库
mysqldump -uroot -p123 westos > /mnt/westos.sql
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql