Mysql 数据库--------基本操作&MariaDB&phpmyadmin

本文详细介绍了MariaDB的安装、安全初始化、基本管理操作,包括增删改查,以及数据库的备份与用户授权。此外,还涉及到了phpMyAdmin的安装和数据库密码管理,包括密码更改和破解。内容覆盖了数据库服务的启动、配置、权限设置以及数据安全方面的重要知识点。
摘要由CSDN通过智能技术生成

1.数据库的介绍

数据库本质上是一个高级的表格软件,常见的数据库有MySQL、Oracle、DB2、SQL Server等。目前企业绝大多数使用的都是“LAMP“或“LNMP”架构,即Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
 

数据库中的常用名词含义
字段表格中的表头
表格
存放表格的目录
查询

2.mariadb的安装与开启

MariaDB数据库管理系统是MySQL的一个分支,它完全兼容MySQL,在这里我们使用这一软件对mysql数据库的基本管理进行说明。

dnf search mariadb
dnf install -y mariadb-server.x86_64 安装
systemctl enable --now mariadb 开启

 

3.软件基本信息

信息解释
mariadb.service启动服务
3306默认端口号
vim /etc/my.cnf.d/mariadb-server.cnf主配置文件
/var/lib/mysql数据目录,当需要重新安装mariadb时需要清理此目录或备份

4.数据库的安全初始化

4.1 执行安全初始化脚本

mysql 登陆默认不需要密码,初始化完毕后需要

1.默认登陆,不需要密码,直接进入数据库

2. mysql_secure_installation 执行安全初始化脚本

y/n可选择都是yes

 3.再次进入,需要输入设置的密码,

mysql -u root -p               -u指定登陆用户,-p密码

 4.2 关闭数据库开放端口

为了数据库的安全性最好隐藏端口

netatst -antlupe | grep mysql查询到端口为3306

vim /etc/my.cnf.d/mariadb-server.cnf
 21 skip-networking=1

systemctl restart mariadb

netatst -antlupe | grep mysql查询不到端口

 

 

5.数据库的基本管理(增删改查)

5.1查看

[root@squid ~]# mysql -uroot -p    进入数据库;
Enter password:                              输入密码;

MariaDB [(none)]> show databases;     查看数据库;


MariaDB [(none)]> use mysql                 # 进入数据库mysql

MariaDB [mysql]> show tables;            #查看mysql 的表


MariaDB [mysql]> SELECT * FROM user;           #查看表user的字段


MariaDB [mysql]> SELECT Host,User,Password FROM user;        #查看user表中的信息

MariaDB [mysql]> SELECT Host,Password FROM user;  

 5.2新建

建库:

MariaDB [mysql]> CREATE DATABASE westos;     #新建库westos
MariaDB [mysql]> SHOW DATABASES; 查看库


 建表:

MariaDB [mysql]> USE westos;                                              进入数据库
MariaDB [westos]> SHOW TABLES;                                      查看数据库中的表

MariaDB [westos]> CREATE TABLE linux (       );                      #新建表         
MariaDB [westos]> DESC linux;                                            显示表结构

 


 插入数据:

MariaDB [westos]> INSERT INTO linux VALUES('user1','123');     #插入数据

MariaDB [westos]> FLUSH PRIVILEGES;         #刷新数据库
MariaDB [westos]> SELECT * FROM linux;          #查看表中的所有数据

 5.3更改

更改表名:


MariaDB [westos]> ALTER TABLE linux RENAME user;   更改表名
MariaDB [westos]> SHOW TABLES;             查看表


 添加字段:

默认添加在表中最后一行的后面,可用AFTER指定想要的位置

MariaDB [westos]> ALTER TABLE user ADD class varchar(6);    表中添加字段
MariaDB [westos]> ALTER TABLE user ADD age varchar(6) AFTER password;  
 

 


 

 将所有行的age字段的值都改为20


 表中更改数据

UPDATE user SET age='18' WHERE username='user1';
SELECT * FROM user;
UPDATE user SET age='18',class='linux' WHERE username='user1';   用逗号隔开
UPDATE user SET age='21',class='java' WHERE username='user2';
UPDATE user SET age='20',class='c#' WHERE username='user3'

 

 5.4删除

删除数据

   


 

MariaDB [westos]> DROP TABLE user;                    删除表

MariaDB [westos]> DROP DATABASE westos;    删除数据库

6.数据库备份

6.1备份数据库

mysqldump -uroot -p123 --all-database               #备份所有数据库

mysqldump -uroot -p123 --all-database --no-data    #备份所有数据库的数据结构,不备份数据

mysqldump -uroot -p123 westos                    #备份指定数据库

mysqldump -uroot -p westos > /mnt/westos.sql           #备份指定数据库到指定目录
Enter password:

6.2 删除数据库

mysql -uroot -p -e "DROP DATABASE westos;"

mysql -uroot -p -e "SHOW TABLES FROM westos;"

 

 6.3 备份数据库

方式一:


vim /mnt/westos.sql
#CREATE DATABASE westos;
#USE westos;

 

 方式二:

mysql -uroot -p -e "CREATE DATABASE westos;"   建库
Enter password:
 mysql -uroot -p westos < /mnt/westos.sql              将数据导入库中
Enter password:

mysql -uroot -p -e "SELECT * FROM westos.;" 
Enter password:
 

 7.用户授权

创建用户:

[root@squid ~]# mysql -uroot -p
Enter password:

MariaDB [(none)]> select user from mysql.user;                               查看数据库的所有用户

MariaDB [(none)]> create user leo@localhost identified by 'leo';   本地登陆

MariaDB [(none)]> create user westos@'%'  identified by 'leo';       本地登陆或网络登陆

 


 网络用户登陆成功,但是没有权限对数据库进行操作


 授权:

 MariaDB [(none)]> GRANT INSERT,SELECT ON westos.*  TO leo@localhost;

 #授权给leo用户关于westos库查和插入的权限

MariaDB [(none)]> SHOW GRANTS for leo@localhost;

显示leo 的权限

 


 检测:

[root@squid ~]# mysql -uleo -p          
Enter password:

MariaDB [(none)]> USE westos; 

MariaDB [westos]> SHOW TABLES;

MariaDB [westos]> INSERT INTO student VALUES('user1','java');

MariaDB [westos]> SELECT * FROM student;

MariaDB [westos]> DROP TABLE student;            

7.phpmyadmin的安装

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口管理者可以直接通过网页这种简易方式处理大量资料的汇入及汇出,避免输入繁杂的SQL语句。

实验步骤:

安装软件:php 、httpd  、php-mysqlnd.x86_64 -y

[root@squid ~]# dnf install php

[root@squid ~]# dnf install httpd

[root@squid ~]# dnf install php-mysqlnd.x86_64 -y

 开启火墙服务,添加http服务

[root@squid ~]# systemctl enable --now firewalld
[root@squid ~]# systemctl enable --now httpd

firewall-cmd --permanent --add-service=http

firewall-cmd --reload

[root@squid squid]# php -m | less            #php-mysqlnd安装完成后,php -m可以查看到php中加载了数据库模块

wget http://172.25.254.250/software/phpMyAdmin-3.4.0-all-languages.tar.bz2 

cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html/

#从网络软件仓库中下载phpmyadmin压缩包到http共享目录/var/www/html下

[root@squid squid]# cd /var/www/html

[root@squid html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2

[root@squid html]# mkdir mysqladmin

在http共享目录/var/www/html下建立存放phpmyadmin软件资源的目录mysqladmin/,将解压缩后的文件移动到该目录下

[root@squid html]# mv phpMyAdmin-3.4.0-all-languages/*    mysqladmin

[root@squid html]# cd mysqladmin
[root@squid mysqladmin]# ls

 

[root@squid mysqladmin]# cp config.sample.inc.php  config.inc.php
[root@squid mysqladmin]# systemctl restart httpd

 

 

8.数据库密码管理

8.1数据密码更改

[root@squid ~]# mysql -uroot -pwestos         密码登陆

[root@squid ~]# mysqladmin -uroot -p password 123      密码改为123

[root@squid ~]# mysql -uroot -pwestos               登陆失败
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

[root@squid ~]# mysql -uroot -p123                    登陆成功
Welcome to the MariaDB monitor.  Commands end with ; or \g.

6.2数据密码破解


systemctl stop mariadb.service      关闭mariadb服务
mysqld_safe --skip-grant-tables &      跳过密码登陆,进入后台操作

mysql  直接登陆不需要密码
MariaDB [(none)]> UPDATE mysql.user set authentication_string=password('westos') WHERE User='root';  更改密码,密码用密文存储

 

 

ps aux | grep mysql
kill -9 33651
kill -9 33751
ps aux | grep mysql

systemctl start mariadb.service

mysql -uroot -pwestos

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值