mysql数据库的基本管理

一 什么是数据库

  • 数据库就是一个高级的表格软件
  • 常见数据库:Mysql Oracle Mongodb db2 sqlite sqlserver …
  • 数据库中的常用名词:
    【1】字段:表格中的表头就相当于数据库的字段
    【2】表:表格
    【3】库:存放表格的目录
    【4】查询:对表格中的指定内容进行查看

二 安装并启用数据库

【1】安装数据库

(1)需要搭建好软件仓库
(2)dnf search mariadb搜索到 mariadb-server.x86_64插件安装包进行安装
search

(3)安装数据库所需要的插件

dnf install mariadb-server.x86_64 -y #安装数据库插件
install

  • 其中
  • /var/lib/mysql
    #为其数据目录
  • /etc/my.cnf.d/mariadb-server.cnf
    #为主配置文件
  • /usr/lib/systemd/system/mariadb.service
    #为服务的启动脚本
    (4)开启数据库服务

systemctl enable --now mariadb
开启服务成功

【2】对数据库进行安全初始化

(1)mysql_secure_installation 初始化脚本
安全初始化安装

  • 问题:
    1 账户原始密码(没有密码直接回车)
    2 是否设定数据库的管理员密码
    3 是否要去掉匿名用户登录权限
    4 禁止管理员通过远程登录
    5 删除测试库
    6 刷新数据库
    问题设定及回答
    问题2
    问题3

  • 设置成功后即可登录数据库
    (2)登录数据库
    mysql -uroot -p
    输入密码
    quit退出
    登录数据库

(3)netstat -antlupe | grep mysql #查看mysql的对外开放接口

  • 默认情况下数据库对外开放接口为3306,一般在企业中需要关闭
    在这里插入图片描述

(4)编辑配置文件 vim /etc/my.cnf.d/mariadb-server.cnf
写:skip-networking=1 #关闭数据库的网络端口
关闭网络端口

(5)重启数据库服务

systemctl restart mariadb

(6)netstat -antlupe | grep mysql #查看端口是否关闭
对外接口关闭


三 数据库基本管理(增删查改)

【1】查看

  • 首先进入数据库,
    进入数据库

  • SHOW DATABASES;#显示库名称
    显示数据库名称

  • USE mysql; #分号表结束#进入mysql库
    进入mysql库

  • SHOW TABLES;#显示库中所有表
    mysql库中所有表

  • SHOW TABLES FROM mysql;
    #查看哪一个库里面的所有表名
    指定查看mysql库中的所有表

  • SELECT * FROM user;
    #查看user中的所有数据
    查看user中的所有数据

  • SELECT Host,User,Password FROM user;
    #查看user里面的字段
    查看user中的所有字段

  • SELECT Host,User,Password FROM user WHERE User=‘root’ and Host=‘localhost’;
    #查看root@localhost 的字段
    查看字段

【2】新建

  • CREATE DATABASE westos;
    #建立数据库
    建立数据库

  • CREATE TABLE westos.linux(
    -> username varchar(6) not null,
    -> password varchar(30) not null
    -> );
    #建立数据库的表
    建立数据库的表

【3】查看

  • DESC westos.linux;
    #查看westos库中的linux表的信息
    查看westos库中的linux表的信息

【4】插入

  • INSERT INTO westos.linux VALUES (‘lee’,123);
    #插入数据
    *SELECT * FROM westos.linux; #查询
  • INSERT INTO westos.linux VALUES(‘lee1’,‘123’),(‘lee2’,‘123’); #可以同时插入多个数据
    插入数据

【5】修改库的名字,一般情况下不修改

cd /var/lib/myu
cd /var/lib/mysql/
mv westos lee #强制将westos数据库名字更换成lee,但是该操作可能导致数据丢失
mysql -uroot -p #登录数据库
SHOW DATEBASES; #显示数据库名字更改成功
#在企业中库的名字一般不改,因为有可能会导致数据丢失

【6】更改表的名字

  • ALTER TABLE linux RENAME userlist;
    #将表的名字由linux改为userlist
  • SHOW TABLES;
    #查看是否更改成功
    更改表的名字

【7】添加字段

  • ALTER TABLE linux ADD age varchar(4);
    #在表的最后加age字段
    在表的最后加age字段

  • ALTER TABLE linux DROP age;
    #删除字段
    删除字段

  • ALTER TABLE linux ADD age varchar(4) AFTER username;
    #在username字段后添加age字段
    添加字段

【8】更新数据

  • UPDATE linux SET age=‘123’
    #将所有age字段中为空的都设置为123
    将所有age字段为空的都设置成123

  • UPDATE linux SET age=‘18’ WHERE username=‘lee1’;
    #设置lee1的age为18
    设置lee1的age为18

【9】删除

  • DELETE FROM linux WHERE username=‘lee’ and age=‘123’;
    #删除linux表中lee年龄为123的用户行
    删除linux表中年龄为123的用户行

  • DROP TABLE linux;
    #删除linux表

  • DROP DATABASE westos;
    #删除数据库


四 数据库的密码管理

【1】更改密码

  • 知道密码的情况
    mysqladmin -uroot -pwestos password lxy199853 #当原始密码知道的时候可以直接修改
    知道密码

  • 不知道密码的情况下

  • systemctl stop mariadb
    #停止数据库服务

  • mysqld_safe --skip-grant-tables &
    #跳过授权表进入数据库 ==&==不占用终端,在后台运行

  • UPDATE mysql.user SET Password=password(‘lee’) WHERE User=‘root’;
    #当未使用过mysqladmin更改过密码时,更改超级用户的密码

  • UPDATE mysql.user SET authentication_string=password(‘123’) WHERE User=‘root’;

  • #当使用过mysqladmin更改过密码更改超级用户密码

  • quit退出
    更改密码

  • ps aux | grep mysql
    #查看mysql所有进程

  • kill -9 5080

  • kill -9 5174
    #结束所有数据库进程

  • ps aux | grep mysql
    #查看是否删除成功

  • systemctl start mariadb
    #重新开启数据库后,密码更新完成
    重新开启数据库


五 重装数据库

【1】systemctl stop mariadb
#停止数据库服务
【2】rm -rf /var/lib/mysql/
#直接删除掉数据库所在的目录
【3】dnf reinstall mariadb-server -y
#重新安装mariadb-server 插件
【4】systemctl enable --now mariadb
#重启数据库服务


六 用户的授权

  • 一般情况下,在安装mysql时,只默认管理员可以登录并对数据库中的数据进行操作,因此要对普通用户进行授权,才可以使得普通用户登录数据库,对数据库中的数据进行操作。

  • 做法

  • mysql -uroot -p #登录
    登录

  • SELECT Host,User FROM mysql.user;
    #查阅数据库用户
    查阅数据库用户

  • CREATE USER westos@localhost identified by ‘westos’;
    #表示此用户只能在本机登录数据库
    创建westos用户在本机登录数据库

  • CREATE USER westos@’%’ identified by ‘westos’;
    #表示此用户可以通过网络登录数据库,可用网络(登录的前提下是数据库必须开启网络登录接口

  • mysql -uwestos -pwestos -h172.25.254.101
    #可以远程登录

  • vim /etc/my.cnf.d/mariadb-server.cnf中将skip-networking=1注释掉才可以远程登录
    #但一般情况下企业不允许用户远程登录)

  • GRANT SELECT ON westos .* TO westos@localhost;
    #给westos中的westos表中授权SELECT

  • SHOW GRANTS FOR westos@localhost;
    #查看授权

  • GRANT INSERT ON westos.* TO westos@localhost;
    #授权insert
    授权
    查看授权

  • westos此时便可以登录mysql,并对数据库中的数据进行(SELECT)查询与(INSERT)插入的操作

  • REVOKE INSERT ON westos.* FROM westos@localhost;
    #删除授权insert
    删除

  • 用户权利有哪些的查看方式:
    SELECT * FROM mysql.user;
    查看方式

  • DROP user westos@localhost; #删除用户
    删除


七 数据库的备份:

  • 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 westos > /mnt/westostest.sql
    #备份westostest库
    备份

  • cat /mnt/all.sql #查看/mnt/all.sql中的备份内容
    备份形式

八 数据库的还原:

  • mysql -uroot -pwestos -e “CREATE DATABASE westostest;”
    #如果数据库westos被删除了,需要先创建一个新的数据库
    创建数据库

  • mysql -uroot -pwestos westostest</mnt/westostest.sql
    #将备份还原到westostest数据库中
    还原


九 phpmyadmin的安装(虚拟机中图形化的数据库)

dnf install php httpd php-mysqlnd.x86_64 -y #安装相关插件
systemctl enable --now httpd #开启httpd服务
systemctl restart httpd #重启httpd服务
firewall-cmd --permenant --add-service=http #在火墙中添加http服务
firewall-cmd --reload#重载httpd服务
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/ #解压phpmyadmin压缩包
cd /var/www/html/ #切换目录至/var/www/html
ls #查看目录下是否有phpMyAdmin-3.4.0-all-languages文件
mv phpMyAdmin-3.4.0-all-lanaguages myaqladmin #将该文件移到myaqldamin
ls #查看mysqladmin目录
cd myaqladmin/ #切换目录
ls #查看说明文档Documentation.txt其中的说明:需要将config.inc.php 拷贝到 config.sample.inc.php
cp config.sample.inc.php config.sample.php #将config.sample.inc.php文件拷贝到config.sample.php文件中
测试: http://192.168.1.101/myaqladmin 即可使用图形化的虚拟机
图形数据库

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值