微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

21.Linux数据库入门

mariadb的安装与启动

dnf install mariadb-server.x86_64 -y
systemctl enable --Now mariadb

在这里插入图片描述

mariadb基本信息

mariadb.service 服务名称
3306 认端口号
/etc/my.cnf配置文件
/var/lib/MysqL 数据目录,当需要重新安装mariadb时需要清理此目录或备份

数据库的安全初始化

关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf

[MysqLd]	#在它下面加
skip-networking=1	#关闭数据库网络端口

systemctl restart mariadb 重启服务
netstat -antlupe | grep MysqL 查询不到myaql端口

在这里插入图片描述

执行安全初始化脚本
MysqL_secure_installation 执行安全初始化脚本(一般每一步选择y,也可自行设定)

登录
MysqL -u root -p -u 指定登陆用户 -p (后面可以直接加密码,但是一般回车后输入更安全)

在这里插入图片描述

数据库的基本管理

查看
SHOW DATABASES; 显示名称
USE MysqL; 进入MysqL
SHOW TABLES; / SHOW TABLES FROM MysqL 显示库中的所有表
SELECT * FROM user; / SELECT * FROM MysqL.user; 查询user表中所有数据,也可
SELECT Host,User,Password FROM user; 查询user表中指定字段的内容
SELECT Host,User,Password FROM user WHERE user="root"; 查询user表中指定字段下user=root的内容
SHOE

新建
CREATE DATABASE test; 新建库
CREATE TABLE linux ( username varchar(6) not null, password varchar(30) not null ); 新建表
DESC linux; 显示表结构
INSERT INTO linux VALUES ('user1','123'); 插入数据
FLUSH PRIVILEGES; 刷新数据库
SELECT * FROM linux; 查询linux表中所有数据

更改
ALTER TABLE redhat RENAME linux; 更改redhat表为linux
ALTER TABLE linux ADD age varchar(4) AFTER password; 添加age表在password之后
UPDATE linux SET age='18' WHERE username='user2'; 更改user2的sex为g
ALTER TABLE linux DROP age; 删除字段

删除
DELETE from linux where age='18'; 删除所有年龄字段为18的数据
DELETE from linux where username='user2' and age='18'; 删除所有年龄字段为18并且用户名字段为user2的数据
DROP TABLE linux; 删除linux表
DROP DATABASE test; 删除test表

数据密码管理

数据密码更改
MysqLadmin -uroot -p旧密码 password 新密码

数据库密码破解
systemctl stop mariadb 停止运行数据库
MysqLd_safe --skip-grant-tables & 跳过授权表后台运行数据库,需按回车
myaql 免密进入数据库
UPDATE MysqL.user set Password=password('新密码') WHERE User='root'; 当未使用过MysqLadmin更改过密码
UPDATE MysqL.user SET authentication_string=password('新密码') WHERE User='root'; 当使用过MysqLadmin更改过密码
FLUSH PRIVILEGES; 若不生效刷新数据库
ps aux | grep MysqL 查看所有MysqL进程
kill -9 MysqL的所有进程号 结束所有MysqLi进程(出国grep)
systemctl start mariadb 开启mariadb.server

用户授权

CREATE USER redhat@localhost identified by '密码'; 只能用本机登陆
CREATE USER redhat@'%' identified by '密码'; 可以通过远程或本机登陆(若要远程登陆需打开3306端口)

在这里插入图片描述

在这里插入图片描述

SELECT Host,User,Password FROM MysqL.user; 查看用户
GRANT INSERT,SELECT ON test.* TO reddhat@localhost; 对redhat用户进行授权(INSERT表示插入,SELECT表示查看)
SHOW GRANTS for lee@localhost; 查看用户权限
REVOKE SELECT ON test.* FROM redhat@localhost; 撤销redhat查看(SELECT)权力
DROP user lee@localhost; 删除用户(建立时时%,就要用%删除)

数据库的备份

备份
MysqLdump -uroot -p123 test > /mnt/test.sql 备份test库
MysqLdump -uroot -p密码 test --no-data > /mnt/test.sql 只备份test库中表的结构
MysqLdump -uroot -p密码 --all-database > /mnt/all.sql 全部备份
MysqLdump -uroot -p密码 --all-database --no-data > /mnt/all.sql 全部备份,但只备份结构

恢复
MysqL -uroot -p密码 -e "CREATE DATABASE test;"
MysqL -uroot -p密码 test < /mnt/test.sql

在这里插入图片描述

PHPmyadmin的安装

  • dnf install httpd PHP PHP-MysqLnd -y 安装需要组件

  • systemctl enable --Now httpd 开启apache并设定服务位开机启动

  • systemctl stop firewalld 关闭防火墙

  • cp PHPMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/ 移动PHPMyAdmin到html下
    cd /var/www/html/
    tar jxf PHPMyAdmin-3.4.0-all-languages.tar.gz 解压安装包
    mv PHPMyAdmin-3.4.0-all-languages MysqLadmin 重命名MysqLadmin
    cd MysqLadmin
    cp config.sample.inc.PHP config.inc.PHP 复制主要文件

  • systemctl restart httpd 重启apache

    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐