Linux下的数据库管理

数据库的管理

1、初步了解数据库

(1)数据库的类型

数据库的类型常用的有两种:
mysql、oracle
其他还有:
mangodb、db2、sqlserver、sqlite

(2)数据库的概念

数据库(database)是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜(存储电子文件的处所),用户可以对文件中的数据进行新增、查询、更新、删除等操作。

2、mysql的管理

(1)mysql的安装

命令功能
vim /etc/yum.repos.d/xxx.repo检查yum是否设置好,成功设置后可使用
yum install mariadb-server安装mysql(mariadb-server就是要安装的mysql)
systemctl start mariadb开启mariadb服务(mysql服务)
mysql直接输入并回车即可进入mysql操作界面,此时刚刚安装,无需密码,进入后操作时需使用sql语句

(2)mysql的安全初始化

mysql刚刚安装时无需密码即可访问,安全等级低,需对mysql做安全初始化,提高mysql的安全等级
命令功能
mysql_secure_installation设置mysql的安全初始化
Entet current password for root (enter for none):
Set root passwored? [Y/n]
Remove anoymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
mysql -uroot -pxxxxxx为root用户登陆mysql的密码,可直接加在p后登陆,但这样密码是明文的,安全级别地,建议不用此方法
mysql -uroot -p此时不添加密码,直接登陆,登陆过程中输入密码,过程中输入密码是没有回显的,比较安全
netstat -antlupegrep mysql
vim /etc/my.cnf修改配置文件
skip-networking=1将此行设置为1,关闭mysql开启的接口,使mysql更安全
systemctl restart mariadb完成后重启mysql服务,使修改立即生效
netstat -antlupegrep mysql
/var/lib/mysqlmysql的数据目录,重装时需删掉该目录

在这里插入图片描述

3、用户登陆mysql密码管理

(1)如何正常修改密码

命令功能
mysql -uroot -p123用原密码123,使root用户登陆mysql,成功
mysqladmin -uroot -p123 password 456将root用户登陆mysql的密码由123改为456
mysql -uroot -p123用原密码123,使root用户登陆mysql,此时密码已修改,登录失败
mysql -uroot -p456用新密码456,使root用户登陆mysql,成功

在这里插入图片描述

(2)密码丢失时如何重置

命令功能
systemctl stop mariadb关闭mysql服务
mysql_safe --skip-grant-tables &进入mysql安全模式修改,进入后,进程将一直运行,所以&打入后台运行
ps auxgrep mysql
mysql此时可直接免密进入mysql中
SELECT User,Password FROM mysql.user查看mysql库,user表中的User和Password字段,查看加密后的密码
UPDATE mysql.user SET Password=password(‘123’) WHERE User=‘root’;修改mysql库,user表中,Password字段的内容为password加密后的“123”,指定寻找的该Password字段的User字段为“root”(这样可以使修改目标更精确)
SELECT User,Password FROM mysql.user查看mysql库,user表中的User和Password字段,查看加密后的密码,此时虽看不懂加密文字,但可发现与修改前的加密密码不同
quit修改完成后退出mysql
ps auxgrep mysql
killall -9 mysql_safe(进程名称)使用进程名称关闭该名称的进程
kill -9 3778(进程号)使用进程号关闭该进程号的进程
ps auxgrep mysql
systemctl start mariadb开启mysql服务
mysql -uroot -p123尝试用修改后的123密码是否可以使root用户登陆mysql,此时应可以登陆

在这里插入图片描述

4、mysql中的常用语句

:在mysql语句中,需以“”结尾,并且命令规范需要使用大写字母(但不区分大小写,只是大写是规范方式),库名、表名、字段名等区分大小写,在未结束前回车为换行,写完后用“”结尾表示结束。

(1)查询常用语句

命令功能
SHOW DATABASES;查看现有的所有库
SHOW TABLES;查看当前的所有表(需进入到库中)
SHOW TABLES FROM DATABASENAME;查看databasename库中的所有表(无需进入库中)
USE DATABASENAME;进入到databasename库中(更改当前所在地)
SELECT * FORM TABLE;查看表中的所有内容
SELECT Password FROM user WHERE User=‘root’;查看表中的Password字段

在这里插入图片描述

(2)建立常用语句

命令功能
SHOW DATABASES;查看当前的所有库
CREATE DATABASE zero;创建数据库zero
USE zero;进入到zero库中
CREATE TABLE fate (username varchar(20) not null,password varchar(50) not null);在当前(zero中)创建一个表fate,建立该表的字段username,并设置最大长度为20,字段password,最大长度为50,且均不可为空
DESC zero;查看该表的结构
SELECT * FROM zero;查看表中的所有字段的内容
SELECT username FROM fate ;查看表中的的username字段的内容

在这里插入图片描述

(3)更改和删除常用语句

命令功能
UPDATE fate SET password=password(‘123’) WHERE username=‘abc’;修改表fate的username为abc的password字段为password加密方式的123
ALTER TABLE fate ADD class vachar(20);给表fate添加class字段,长度限定为20
ALTER TEBLE fate DROP class;给表fate删除class字段
ALTER TABLE fate ADD age varchar(20) AFTER password;给表fate添加长度限定为20的age字段,添加至password字段后
ALTER TABLE fate RENAME newname;给表fate重命名为newname
DELETE FROM fate WHERE 字段名=’内容’删除表中的内容,指定某一字段对应内容,来指定删除的行
DROP TABLE fate;删除表fate
DROP DATABASE zero;删除库zero

在这里插入图片描述

(4)用户的授权

命令功能
CREATE USER student@localhost identified by ‘student’;建立student@localhost用户身份,认证时为student
GRANT SELECT ON test.* TO student@localhost;将test库及库中内容的权限给student@localhost
SHOW GRANTS FOR student@localhost;查看student@localhost的所有权限
REVOKE INSERT ON test.* FROM student@localhost删除student@localhost对test库的INSERT权限
DROP USER student@localhost;删除student@localhost用户身份
FLUSH PRIVILEGES;刷新

在这里插入图片描述

5、数据库的备份

命令功能
mysqldump -uroot -p123 zero > /mnt/zero.sql备份一份库zero的文件到/mnt/zero.sql
cd /mnt到/mnt目录中方便操作
ls显示内容,检是否有zero.sql
mysql -uroot -p123 -e “SHOW DATABASES;”显示现有数据库
mysql -uroot -p123 -e “DROP DATABASE zero;”删除数据库zero,模拟第一种恢复方法
mysql -uroot -p123 -e “SHOW DATABASES;”显示现有数据库,检查zero是否删除
mysql -uroot -p123 < /mnt/zero.sql将库zero的备份/mnt/zero.sql传入数据库中,此时失败
mysql -uroot -p123 -e “CREATE DATABASE zero;”先在数据库中建立库zero
mysql -uroot -p123 -e “SELECT * FROM zero.fate;”查看zero的框架是否恢复(此时没有恢复,找不到原有的fate表)
mysql -uroot -p123 zero < /mnt/zero.sql再将库zero的备份/mnt/zero.sql传入数据库中,此时成功,此时需指定库名
mysql -uroot -p123 -e “SELECT * FROM zero.fate;”查看zero的框架是否恢复(此时恢复,显示fate表内容)
mysql -uroot -p123 -e “DROP DATABASE zero;”删除库zero,模拟第二种恢复方法
mysql -uroot -p123 -e “SHOW DATABASES;”显示现有数据库,检查zero是否删除
vim /mnt/zero.sql修改库zero的备份文件
CREATE DATABASE zero;在文件中添加命令至其他命令之前,恢复时自动建立库zero
USE zero;恢复时自动进入zero库中,指定库名,修改完成后退出保存
mysql -uroot -p123 < /mnt/zero.sql再将库zero的备份/mnt/zero.sql传入数据库中,此时成功,因在备份文件中指定过库,此时无需指定库名
mysql -uroot -p123 -e “SELECT * FROM zero.fate;”查看zero的框架是否恢复(此时恢复,显示fate表内容)

在这里插入图片描述

6、数据库的图形化管理

命令功能
yum install httpd -y下载apache软件
systemctl start httpd开启httpd服务
yum install php -y下载php
wget xxx在网络上得到phpMyAdmin-3.4.0-all-languages.tar.bz2的安装包
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2解压phpMyAdmin-3.4.0-all-languages.tar.bz2安装包
ls查看解压后文件是否存在
rm -rf phpMyAdmin-3.4.0-all-languages.tar.bz2删除多余安装包
mv phpMyAdmin-3.4.0-all-languages /var/www/html/phpmysql将解压后的文件移动至/var/www/html中,移动的过程是重命名过程,给它重命名为phpmysql,方便使用
php -m查看php此时含有的组件,此时没有mysql组件
yum search php查找php相关安装包,找到与mysql相关的组件
yum install php-mysql.x86_64 -y安装与mysql相关的php组件安装包
php -m安装后查看,此时有mysql组件
systemctl restart httpd重启httpd服务
systemctl stop firewalld关闭防火墙
172.25.254.xxx(本机IP)/phpmysql在网页中输入该地址,快捷进入数据库的图形化界面

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值