1.数据库的介绍
1)什么是数据库
数据库就是个高级的表格软件
2)常见数据库
大型数据库 | SQL Server、Oracle、DB2 |
中小型数据库 | Foxpro、Access、MySQL |
3)Mysql (SUN -----> Oracle)
4)mariadb
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。
数据库中的常用名词
字段 | 表格中的表头 |
表 | 表格 |
库 | 存放表格的目录 |
查询 | 对表格中的指定内容进行查看 |
2.mariadb的安装与开启
dnf install mariadb-server.x86_64 -y
systemctl enable --now mariadb
3.软件基本信息
mariadb.service | 启动服务 |
3306 | 默认端口号 |
rpm -qc mariadb-serve | 查询配置文件 |
/etc/my.cnf.d/mariadb-server.cnf | 主配置文件 |
/var/lib/mysql | 数据目录,当需要重新安装mariadb时需要清理此目录或备份 |
4.数据库的安全初始化
1)关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql 此命令查询不到端口
2)执行安全初始化脚本
mysql_secure_installation
[root@Mariadb ~]# mysql 默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@Mariadb ~]# mysql -uroot -p -u 指定登陆用户 -p 密码
5.数据库的基本管理
1)查看
SHOW DATABASES; 显示库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段
SELECT Host FROM mysql.user WHERE User='root' 绝对路径查询指定字段
2)新建
CREATE DATABASE westos; 新建库
CREATE TABLE linux ( 新建表
username varchar(6) not null,
password varchar(30) not null
);
DESC linux; 显示表结构
INSERT INTO linux VALUES ('user1','123'); 插入数据
select * from linux; 查看数据
FLUSH PRIVILEGES; 刷新数据库
3)更改(表格的结构)
ALTER TABLE redhat RENAME linux;
ALTER TABLE linux ADD age varchar(4) AFTER password;
ALTER TABLE linux DROP age;
UPDATE linux SET sex='g' WHERE username='user2';
4)删除
DELETE from linux where username='user2' and age='18';
DROP TABLE linux;
DROP DATABASE westos;
6.数据密码管理
1)数据密码更改
mysqladmin -uroot -p password westos(新密码)
2)数据库密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql -u root
USE mysql;
SELECT * FROM user;
UPDATE mysql.user set Password=password('lee') WHERE User='root'; 当未使用过mysladmin更改过密码
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; 当使用过mysladmin更改过密码
flush privileges;
ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb
7、phpmyadmin的安装
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
dnf install httpd php php-mysqlnd -y
当80端口被占用时,先删除战用的软件 dnf remove --
systemctl enable --now httpd
systemctl stop firewalld
wget php----------
tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz -C /var/www/html
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin(重命名)
cd mysqladmin
less Documentation.txt
vim config.sample.inc.php
systemctl restart httpd
cp config.sample.inc.php config.inc.php(可省略)
firefox http://192.168.0.12/mysqladmin
8.用户授权
先用root用户登录
CREATE USER lee@localhost identified by 'lee'; 只能用localhost登陆
CREATE USER lee@‘%’ identified by '密码'; 可以通过网络或localhost登陆
GRANT INSERT,SELECT ON westos.* TO lee@localhost;
SHOW GRANTS for lee@localhost;
REVOKE SELECT ON westos.* FROM lee@localhost;
DROP user lee@localhost;
9.数据库的备份
mysqldump -uroot -p123 --all-database
mysqldump -uroot -p123 --all-database --no-data
mysqldump -uroot -p123 westos
mysqldump -uroot -p123 westos > /mnt/westos.sql
test1:
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
test2:
vim /mnt/westos.sql
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql