mysql数据库的基本管理

本文详细介绍了MySQL数据库的安装、配置、安全管理以及基本操作,包括创建、查看、更改和删除数据库及表,以及用户权限管理和数据备份。还提到了数据库的端口管理、密码修改以及使用phpmyadmin进行数据库管理。
摘要由CSDN通过智能技术生成

mysql数据库的基本管理

什么是数据库

  • 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。对数据进行存储以及删除等操作。数据库就是个高级的表格软件。
  • 常见的数据库
    常用数据库有mysql、oracle、sqlserver、sqlite、postgreSQL等
  • 数据库中常用名词
    字段:相当于表格中的表头
    表 :表格
    库:存放表格的目录
    查询:对表格中的指定内容进行查看。

配置软件仓库安装数据库

使用dnf list | wc -l 可以查看安装包数量是否有6604个,如果没有,说明我们需要配置软件仓库
在这里插入图片描述
在这里插入图片描述
软件仓库配置成功(此处我配置的是本地软件仓库,需要使用镜像)

     dnf search mariadb    		#搜索这个软件

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

在这里插入图片描述

			dnf install mariadb-server.x86_64 -y   ##安装
		    rpm -ql mariadb-server				   ##查看文件

在这里插入图片描述

	/var/lib/mysql								##数据目录
	/etc/my.cnf.d/mariadb-server.cnf			##主配置文件
	/usr/lib/systemd/system/mariadb.service 	##服务的启动脚本
    systemctl enable --now mariadb				##启动服务

启动后就可以使用mysql直接登录了,不需要密码 ,但是这样不安全,我们要对数据库进行安全初始化
在这里插入图片描述

     mysql_secure_installation   			  ##设置数据库的基本初始化
     mysql -uroot -p 						  ##设定后使用此命令登录

在这里插入图片描述
在这里插入图片描述
##初始化需要填写的内容
在这里插入图片描述
##做出初始化之后的两种登录方式

数据库的端口关闭

#在企业中,一般情况下,需要将对外开放端口关闭。
使用netstat -antlupe | grep mysql查看端口状态
在这里插入图片描述
#管理端口的关闭和打开需要编辑其主配置文件

  vim  /etc/my.cnf.d/mariadb-server.cnf    ##编辑主配置文件
  skip-networking=1      				   ##文件第21行,加入此命令,关闭数据库的网络端口

在这里插入图片描述

       systemctl restart mariadb     		##重启服务

在这里插入图片描述

数据库的基本管理

  • 查看

     SHOW DATABASES;    			##查看所有库
     USE mysql;  					##进入mysql库
     SHOW TABLES;					##查看库中所有表,进入库中之后查看表,不需要指定哪个库
     SHOW TABLES FROM mysql 	    ##查看指定库里面的所有表
     SELECT * FORM user; 			##查看库里的表中所有数据
     SELECT Host,User,Password FROM user;
     								##查询表中指定字段
     SELECT Host,User FROM user WHERE User='root'and Host='localhost'; 
     							 	##查询表中的指定内容
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 新建

        SHOW DATABASES
     	CREATE DATABASE  westos 						 ##新建库
     	CREATE TABLE westos.linux ( username varchar(6) not null, password varchar(30) not null );
     													 ##字符长度不能超过六个,不能为空,建立数据库的表
     	DESC westos.linux								 ##查询表的信息
        INSERT INTO westos.linux VALUES('lee',123) 		 ##插入数据
     	SELECT * FROM westos.linux 						 ##查询
        INSERT INTO westos.linux VALUES('lee1','123'),('lee2','123');
        												 ##插入多个数据
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 更改

      更改库的名字(这个一般情况下不改,容易造成数据的丢失)
      cd /var/lib/mysql  
      ls 
      mv westos LI
      systemctl   restart mariabd
     
      更改表 (进入库中进行修改)
      ALTER TABLE Linux RENAME userlist
      SHOW TABLES 
      ALTER TABLE userlist RENAME linux
    
      更改表目录
      DESC linux;    							##查看表目录的性质
      ALTER TABLE linux ADD  age varchar(4);    ##加表目录
      DESC linux 
      ALTER TABLE linux DROP  age			    ##删除表目录
    
    
      更新表格当中数据
      UPDATE linux SET age='123'  				##age表格中全部是123
      SELECT * FORM linux
      UPDATE linux SET age='18' WHERE password='789';
      											##指定更改password中789列中的age为18
      SELECT * FORM linux
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 删除

      SELECT * FORM linux;
      DELETE FROM linux WHERE  age='18';  ##删除数据
      DROP TABLE linux;  				  ##删除表
      SHOW TABLES;
      DROP DATABASE westos;			  ##删除库
      SHOW DATABASES
    

在这里插入图片描述
在这里插入图片描述
++

数据库的密码管理

  • 已知密码进行修改
    mysqladmin -uroot -pwestos password lee ##更改为lee

  • 忘记密码进行修改

     	 systemctl stop mariadb       			##停掉服务
     	 mysqld_safe --skip-grant-tables &      ##进入数据库未开启授权表模式,跳过授权表,就可以直接登录,进去后直接修改密码。
     	 mysql                                  ##用此登录
     	 SELECT * FROM mysql.user 			    ##这是用户的一个列表,用户信息在里面,其中authentication_string 代表密码信息				
     	 UPDATE mysql.user set authentication_string='lee' WHERE User='root';
     	 										##用这个命令生成的密码是明文的,可以用SELECT * mysql .user看见,不安全
     	 UPDATE mysql.user set authentication_string=password('lee') WHERE User='root';
     	 										##用这个命令密码即可保密
     	 exit									##更改完后退出
     	 ps aux | grep mysql 					##查看进程
     	 kill -9 18506							##将进程全部结束掉。
     	 ps aux | grep mysql					##再看一下进程,保证进程全部结束掉
         systemctl start mariadb.service   	    ##再次开启这个服务
    
    
     	数据库出问题了(企业中不能删)
     	停掉 systemctl stop mariadb
     	删目录rm -rf /var/lib/mysql/
     	重装一下dnf reinstall  mariadb-server -y
    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

用户的授权

建立用户 
CREATE USER westos@localhost  identified by 'westos'   ##此用户只能在本机登录数据库
CREATE USER westos@'%'  identified by 'westos' 		   ##用户可以进行远程登录,网络登录 ,可用网络登录的前提是数据库必须开启对外开放接口

建立表格做出实验环境
CREATE DATABASE westostest;							   ##在root下建立一个数据库
CREATE TABLE westostest.userlist(
username  varchar(10) not null,
passwd varchar(30) not null 
);    												   	##创建了一个表格

INSERT INTO westostest.userlist VALUES('lee','123'),('lee1','123');  
														##给表格填入东西
SELECT * FROM westostest.userlist;  					##查看这个表格的信息


在root下对其他用户授权
GRANT SELECT ON westostest.*  TO westos@localhost; 		##给westos@localhost这个用户授予查看这个目录的权利
SHOW GRANTS FOR westos@locahost							##查看权利是否已经授予

切换到westos中查看信息
SELECT * FROM westostest.userlist;  
														##可以查看,但是在 westos@locahost中我们还是不能插入,如果要进行插入还是要进行授权

在root 下进行授权
GRANT INSERT ON westostest.*  TO westos@localhost;
SHOW GRANTS FOR westos@locahost;

切换到westos中查看信息
INSERT INTO westostest.userlist VALUES('lee2','123');

取消授权
REVOKE INSERT ON westostest.* FROM westos@localhost;

用户权利有哪些?SELECT Host,User FROM mysql.user; 可以看见所有用户的权利。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库的备份

mysqldump -uroot -pwestos mysql 
mysqldump -uroot -pwestos mysql  > /mnt/mysql.sql 							 ##备份mysql库
mysqldump -uroot -pwestos --all-databases  >  /mnt/all.sql   				 ##备份所有库
mysqldump -uroot -pwestos --all-databases   --no-data > /mnt/all_nodata.sql  ##备份所有库但是不备份库中的数据
mysqldump -uroot -pwestos westostest > /mnt/westostest.sql 					 ##备份westostest

DROP DATABASE westostest;													 ##删掉一个库
SHOW DATABASES;

删掉之后还原
mysql -uroot -pwestos -e "CREATE DATABASE westostest;"		##首先应该建立一个库
mysql -uroot -pwestos westostest < /mnt/westostest.sql				##还原库

SHOW DATABASES;

在这里插入图片描述
在这里插入图片描述

管理数据库(需要安装一个插件 phpmyadmin3.4)

##管理数据库需要安装一个插件 phpmyadmin3.4,php,默认电脑不支持数据库,需要安装一个插件支持数据库

dnf reinstall httpd php php-mysqlnd.x86_64 -y 					##安装插件

systemctl enable --now httpd
systemctl restart httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload


tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html ##进入文件所在位置将其解压到http默认发布目录
cd /var/www/html/ 												##进入默认发布目录 
mv phpMyAdmin-3.4.0-all-languages mysqladmin					##更改名字方便使用
cd mysqladmin 													##切换所解压的文件中
ls
vim Documentation.txt											##进入软件帮助文档查看安装需要什么,由此知道我们需要生成一个配置文件
cp config.sample.inc.php config.sample.php

http://192.168.2.100/mysqladmin    								##浏览器中管理数据库

在这里插入图片描述
在这里插入图片描述
##拖入压缩包进行解压
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值