Linux下mysql数据库的基本管理

一、数据库的介绍

1. 什么是数据库?

数据库是个高级的表格软件。用户可以对文件中的数据运行新增、截取、更新、删除等操作。以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

2.常见的数据库

Mysql 、Oracle、 mongodb 、db2 、sqlite 、sqlserver …

二、软件基本信息

下面提到的数据库是mysql,它的服务名是mariadb,我们先把此服务安装

1.服务安装

dnf install mariadb-server.x86_64 -y

Linux下mysql数据库的基本管理_第1张图片

2.基本信息

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

Linux下mysql数据库的基本管理_第2张图片

3.开启数据库

在systemctl enable --now mariadb

三、数据库的安全初始化

1.关闭数据库开放端口

netstat -antulpe | grep mysql

【查询端口】

[mysqld]
skip-networking=1

Linux下mysql数据库的基本管理_第3张图片

注意:编辑完主配置文件后一定要重启服务才能生效!systemctl restart mariadb

2.执行安全初始化脚本

默认情况下不需要密码
Linux下mysql数据库的基本管理_第4张图片

mysql_secure_installation【初始化】
(初始化时会让你输入密码,后面还会有许多y or n的问题,在下面我们都选的y)

Linux下mysql数据库的基本管理_第5张图片

初始化完毕后像上面输入mysql时,此时会报错
需要mysql -uroot -p
【-u 指定登陆用户 -p 密码】

Linux下mysql数据库的基本管理_第6张图片

四、数据库的基本管理

1.查看

SHOW DATABASES; 显示库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示mysql库中的所有表
SELECT * FROM user; 查询表user里数据
SELECT Host,User,Password FROM user; 查询指定字段

Linux下mysql数据库的基本管理_第7张图片
Host后面应是一行,显示屏窄所以分成了多行
localhost是Host这一行表头的回答
Linux下mysql数据库的基本管理_第8张图片
查询指定字段
Linux下mysql数据库的基本管理_第9张图片
注:以上所有命令后面都记得加;分号!!!

2.新建

CREATE DATABASE LYX; 新建库
CREATE TABLE nihao (); 新建表
DESC nihao; 显示表结构
INSERT INTO nihao VALUES (‘lyx’,‘123’); 插入数据
FLUSH PRIVILEGES; 刷新数据库
  • CREATE DATABASE LYX;

[新建库]

Linux下mysql数据库的基本管理_第10张图片

  • CREATE TABLE nihao ();

[新建表]

  • DESC nihao;

[显示表结构]

not null表示这项不能空白
Linux下mysql数据库的基本管理_第11张图片

  • INSERT INTO nihao VALUES (‘lyx’,‘123’);

[插入数据]

Linux下mysql数据库的基本管理_第12张图片

  • FLUSH PRIVILEGES;

[刷新数据库]

本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
mysql用户数据和权限有修改后,希望在”不重启mysql服务”的情况下直接生效,那么就需要执行这个命令

3.更改

ALTER TABLE nihao RENAME hello; 重命名表的名称
ALTER TABLE hello ADD age varchar(4) ; 添加表内容
ALTER TABLE hello DROP age; 删除表里某个数据
UPDATE hello SET password=666 WHERE username=‘lyx’; 更改表里某一数据内容
  • ALTER TABLE nihaoRENAME hello;

[重命名表的名称]

Linux下mysql数据库的基本管理_第13张图片

  • ALTER TABLE hello ADD age varchar(4) AFTER password;

[添加表内容]
Linux下mysql数据库的基本管理_第14张图片

  • ALTER TABLE hello DROP age;

[删除表里某个数据]
Linux下mysql数据库的基本管理_第15张图片

  • UPDATE linux SET sex=‘g’ WHERE username=‘user2’;

[更改表里某一数据内容]
Linux下mysql数据库的基本管理_第16张图片

4.删除

  • DELETE from hello where username=‘user2’ and age=‘18’;

删除指定的某一数据
若此名有多行,可以在后面多加设定(年龄19),就指定到你所要删的那一行
Linux下mysql数据库的基本管理_第17张图片

  • DROP TABLE hello; 删除表

Linux下mysql数据库的基本管理_第18张图片

  • DROP DATABASE LYX; 删除库

Linux下mysql数据库的基本管理_第19张图片

五、数据密码管理

1.数据密码更改

(此时是在知道原密码的情况下)

mysqladmin -uroot -p原密码 password 修改后密码
Linux下mysql数据库的基本管理_第20张图片

2.数据库密码破解

(此时如果不知道原密码)

systemctl stop mariadb(先停止服务)

mysqld_safe --skip-grant-tables & (输入此命令跳过输入密码过程)

进入mysql数据库,版本不同修改密码的语句也不同

RHEL7:UPDATE mysql.user set Password=password(‘lee’) WHERE User=‘root’;

RHEL8:UPDATE mysql.user set authentication_string=password(‘lee’) WHERE User=‘root’;
Linux下mysql数据库的基本管理_第21张图片
杀掉mysql的所有进程
Linux下mysql数据库的基本管理_第22张图片

systemctl start mariadb(此时在启动此服务)

密码修改成功!
Linux下mysql数据库的基本管理_第23张图片

六、用户授权

CREATE USER LEE@localhost identified by ‘LEE’; 只能用localhost登陆(by后面是密码)
CREATE USER LEE@% identified by ‘%’; 可以通过网络或localhost登陆

Linux下mysql数据库的基本管理_第24张图片
此时登陆LEE用户,会发现看不到库名;
Linux下mysql数据库的基本管理_第25张图片
我们给它授予一定的权力
Linux下mysql数据库的基本管理_第26张图片
此时登陆LEE用户时,可以查看到库名,表,以及表里内容。
Linux下mysql数据库的基本管理_第27张图片

REVOKE SELECT ON lyx.* FROM LEE@localhost;(删除授权)
Linux下mysql数据库的基本管理_第28张图片

DROP user LEE@localhost;(删除用户)
也可以在不进入库的时候进行修改
Linux下mysql数据库的基本管理_第29张图片

七、数据库的备份

(在操作中,如果我们不小心将库删除,就无法恢复还得重建会较麻烦,所以我们要对数据库进行备份,以防误操作。)

mysqldump -uroot -p123 --all-database 有表格有数据
mysqldump -uroot -p123 --all-database --no-data 有表格无数据
mysqldump -uroot -p123 LYX 查看库LYX里的表格、数据
mysqldump -uroot -p123 LYX > /mnt/LYX.sql 把库LYX里表格、数据导入到此文件里
mysql -uroot -p123 LYX < /mnt/LYX.sql 把此文件里内容录入到LYX库里
  • mysqldump -uroot -p123 --all-database (有表格有数据)
    Linux下mysql数据库的基本管理_第30张图片
  • mysqldump -uroot -p123 --all-database --no-data (有表格无数据)
    Linux下mysql数据库的基本管理_第31张图片
  • mysqldump -uroot -p123 LYX|查看库LYX里的表格、数据
    Linux下mysql数据库的基本管理_第32张图片

我们用库LYX来进行操作,先将此库的表格与数据备份到文件里。

  • mysqldump -uroot -p123 LYX > /mnt/LYX.sql|把库LYX里表格、数据导入到此文件里
    Linux下mysql数据库的基本管理_第33张图片

如果我们不小心将LYX库删除,如何恢复呢?

我们先创建库LYX

  • mysql -uroot -p123 -e “CREATE DATABASE LYX;” | 创库
    Linux下mysql数据库的基本管理_第34张图片

那库LYX里边的表格以及数据内容如何恢复呢?
我们把刚才导入到文件里的内容录入到新建的库 LYX里

  • mysql -uroot -p123 LYX < /mnt/LYX.sql | 把此文件里内容录入到LYX库里
    Linux下mysql数据库的基本管理_第35张图片
    此时就会看到库LYX里的表格了,说明恢复成功!体会到了备份的重要性与便捷性了嘛?xixiixix~

八、phpmyadmin的安装与使用

(有了此功能,我们就可以在网页上用鼠标点着去创建你想要的库和数据表,不用手敲命令去建立,方便了许多~)

dnf install httpd php php-mysqlnd -y
Linux下mysql数据库的基本管理_第36张图片

systemctl enable --now httpd
systemctl stop firewalld

解bz2压缩包到共享目录(可在网络上访问)下,并复制文件
Linux下mysql数据库的基本管理_第37张图片
此主机的ip为192.168.0.205
firefox http://192.168.0.205/mysqladmin此时在网络上访问此ip下的mysqladmin目录,就可以看到数据库了
Linux下mysql数据库的基本管理_第38张图片

功能演示:

Linux下mysql数据库的基本管理_第39张图片
Linux下mysql数据库的基本管理_第40张图片
Linux下mysql数据库的基本管理_第41张图片

创建好后点左上角刷新
刷新后会发现左边一列多了刚才创建的YAU库,点进去
Linux下mysql数据库的基本管理_第42张图片
Linux下mysql数据库的基本管理_第43张图片
点保存后在点左上角刷新
会发现多了yau表
Linux下mysql数据库的基本管理_第44张图片
这样库、表就创建好了,是不是很方便呢?

  • GET

你可能感兴趣的:(RH135,笔记)