数据库就是个高级的表格软件
2.常见的数据库
mysql oracle mongodb db2 sqlite sqlserver ...,
3 .Mysql (SUN ---->Oracle)
4.mariadb
管理数据库需要使用SQL(结构化查询语言)
SQL语言分为:
1 数据查询语言DQL
按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据。
命令:SELECT…FROM…WHERE…
2 数据操纵语言DML
对已经存在的数据库进行元组的插入、删除、修改等操作
命令:INSERT、UPDATE、DELETE
3 数据定义语言DDL
创建、修改或删除数据库中各种对象,包括表、视图、索引等。
命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE ,
DROP TABLE , DROP VIEW, DROP INDEX4 数据控制语言DCL
用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视
命令:GRANT、REVOKE、COMMIT、ROLLBACK
dnf install mariadb-server.x86_64 -y
mariadb.service 启动服务
3306 默认端口号
/etc/my.cnf 主配置文件
/var/lib/mysql数据目录,当需要重新安装mariadb时需要清理此目录或备份
systemctl enable --now mariadb.service
编辑主配置文件:vim /etc/my.cnf
编辑完成后需要重新启动mariadb服务
查询端口:
ss -antulpe | grep mysql 和 netstat -antulpe | grep mysql都可以查询端口
第一次查询端口:显示端口号为3306
第二次查询端口:查询不到这是因为我们将数据库端口关闭
mysql_secure_installation
默认登陆不需要密码:
开始安全初始化:
设置完成之后再次进入mysql时需要密码
建议在设置时都设置成y,这样比较安全。
测试:
-u | 指定用户 |
---|---|
-p | 用密码登陆 |
SHOW DATABASES; | 显示所与库名称 |
---|---|
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示库中的所有表 |
SELECT * FROM user; | 查询所有数据 |
SELECT Host,User,Password FROM user; | 查询指定字段 |
注意:命令都要大写(规范)并且每一次写完命令之后结尾都要加 ;
SHOW DATABASES; 显示所有数据库
SELECT Host,User,Password FROM mysql.user; 查询指定字段
USE mysql; 进入mysql数据库
SHOW TABLES; 显示库中所有表
SELECT * FROM user; 显示所有数据
CREATE DATABASE xuepang; | 新建库 |
---|---|
CREATE TABLE xuepang ( | 第一步 |
username varchar(6) not null, | 第二步 |
password varchar(30) not null | 第三步 |
); | 新建表(完成) |
DESC xuepang; | 显示表结构 |
INSERT INTO xuepang VALUES (‘user1’,‘123’); | 插入数据 |
FLUSH PRIVILEGES; | 刷新数据库 |
CREATE DATABASE xuepang; 新建库
CREATE TABLE xuepang; 新建表格xuepang
注意:如果不加路径你在哪里建立表格,表格就在哪里。
DESC xuepang; 显示xuepang表格的结构
INSERT INTO xuepang.xuepang VALUES (‘user’,‘password’);
给表格中插入相关数据
注意:插入数据的时候要加单引号,并用,号隔开。
ALTER TABLE xuepang RENAME xue; | 更改数据表名称 |
---|---|
ALTER TABLE xue ADD age varchar(4) AFTER password; | 添加表头 |
ALTER TABLE xue DROP age; | 删除表头 |
UPDATE xue SET age=‘18’ WHERE username=‘user2’; | 添加条件给用户 |
ALTER TABLE xuepang RENAME xue; 更改数据表名称
ALTER TABLE xue ADD age varchar(3) AFTER username; 在表格中添加age这一列
注意:在添加时要有一个参考尽量添加在参考物之后。
UPDATE xue SET age=‘18’ WHERE username=‘zyj’; 给xue这个表中的zyj中添加age
注意:在添加时要注意条件相同时加and再加一个条件添加。
ALTER TABLE xue DROP age; 删除age这个表头
DELETE from xue where username=‘user’ and age=‘18’; | 删除xue表中zyj的数据 |
---|---|
DROP TABLE xue; | 删除xue这个表格 |
DROP DATABASE xuepang; | 删除xuepang这个数据库 |
DELETE from xue WHERE username=‘user’ and age=‘18’; 删除
DROP TABLE xue; 删除xue这个表格
DROP DATABASE xuepang; 删除xuepang这个数据库
第一种:数据密码更改
第二种:数据库密码破解
先停止mariadb服务
systemctl stop mariadb.service 停止mariadb服务
mysqld_safe --skip-grant-tables &
将服务打入后台进行操作(做这一步之后mysql不需要密码便可以进入)
注意:一定要将服务关闭之后再输入命令
第一步:UPDATE mysql.user SET Password=password(‘lee’) WHERE User=‘root’;
第二步:UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’;
注意:rhel7修改时需要两步都进行而rhel8只需要进行第二步
修改密码修改的时认证密码和用户密码;
注意:Password=password(’***’)表示密码为一串字符。
进入mysql后输入命令后回车(Enter)
UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’;
退出之后,关闭mariadb的所有进程
注意:一定要关闭mariadb之前的所有进程不然服务无法启动或密码修改不成功。
启动mariadb服务
测试新密码
kill -9 mysql 的所有进程
systemctl start mariadb
CREATE USER xue@localhost identified by ‘westos’; | 只能用localhost登陆 |
---|---|
CREATE USER xue@% identified by ‘westos’; | 可以通过网络或localhost 登陆 |
GRANT INSERT,SELECT ON xuepang.* TO xue@localhost; | 给用户读和写的权限 |
SHOW GRANTS for xue@localhost; | 查看用户权限 |
REVOKE SELECT ON xuepang.* FROM lee@localhost; | 删除用户的查看权限 |
DROP user xue@localhost; | 删除用户 |
CREATE USER xue@localhost identified by ‘westos’;
创建xue这个用户,只能用localhost登录
CREATE USER xue@% identified by ‘westos’;
注意:可以通过网络登录客户端,访问mysql。
GRANT INSERT,SELECT ON xuepang.* TO xue@localhost;
给用户xue读和写的权限
REVOKE SELECT ON xue.* FROM xue@localhost; 删除用户的部分权限
SHOW GRANTS for xue@localhost; 查看用户的所有权限
DROP user xue@localhost; 删除用户
注意:设置备份的时候要退出mysql
mysqldump -uroot -pwestos --all-database
备份root用户的所有数据
mysqldump -uroot -p123 --all-database --no-data
备份root用户的所有数据,(–no-date)不保存数据,只保存数据表。
mysqldump -uroot -pxuehaha xue 备份root用户下的xue数据库
mysqldump -uroot -pxuehaha xue > /mnt/xue.sql
备份root用户中xue数据库中的所有数据到/mnt/xue.sql中
mysql -uroot -p123 -e "create database xue;"
先建立xue数据库
mysql -uroot -p123 xue < /mnt/xue.sql
将备份好的数据导入到xue数据库中
编辑备份好的数据库
vim /mnt/xue.sql
写入:
CREATE DATABASE xue;
USE xue;
注意:创建和切换数据库都要写在最前面,写在中间或后面将无法生效。
写完每一句话之后都要加上 ;符号。
检测是否成功:
可以通过下方链接下载phpmyadmin也可以通过官网下载
链接:https://pan.baidu.com/s/1xMHrdDsZHGAhbxhMbqYf7Q
提取码:xue1
安装所需要软件php-mysqlnd和php
安装php-mysqlnd
dnf install php-mysqlnd.x86_64
安装php
dnf install php
可以用php -m查看服务都支持什么
php -m
分解下载好的压缩包到/var/www/html中使得可以网络访问
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
由于目录名称过长可以对目录进行改名
注意:下面这一步操作可以不操作
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
进入目录读取README这个文件
less README
查看版本是否符合要求
rpm -qa | grep php
rpm -qa | grep mariadb
版本如下:
都符合条件
根据文件中的提示进行下一步操作
less Documentatin.txt
进入之后找到快速安装(如下)
根据提示复制文件
设置完成之后重新启动httpd服务
systemctl restart httpd
测试:
进入网页输入ip/mysqladmin
显示以下界面代表设置成功
注意:当未出现以下界面时有可能以下几点错误
1.火墙未添加http服务
修改方法:
也可以直接关闭火墙
2.输入ip不正确
3.http的端口出现问题
查看http配置文件
默认为80端口
如果不是80端口修改为80重启服务即可
输入用户和密码登录
当用户名和密码输入正确后进入以下界面
在设置之前先进入数据库中
设置标的名称,字段
设置字段,类型和长度
注意:设置完成点击保存或执行后刷新页面数据表即可出现
对创建好的数据表进行修改
点击插入
写入你想要插入的数据
点击执行后,可以看到修改的命令
可以对数据进行编辑,复制和删除
点击编辑对zyj用户的密码进行修改
修改好后点击执行即可
修改密码所执行的命令
修改成功
在网页中修改的所有数据在主机中也可查到