前言
数据库通俗的理解就相当于学校的档案馆,里面分类有序的存储着学生的个人信息,这里说的数据库是一种虚拟化的存在,主要用来记录用户的个人信息,mysql是一种常用的数据库类型。
一、mariadb的安装
mysql是一大类,其中mariadb(mysql作者女儿的名字)就是其中一类,是当前系统中默认集成的一种软件。
命令:
dnf install mariadb-server.x86_64 -y
mariadb.service | 启动服务 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录,当需要重新安装mariadb时需要清理此目录或备份 |
二、数据库的开启及安全初始化
(1)systemctl enable --now mariadb %开启数据库
(2)vim /etc/my.cnf
[mysqld]
skip-networking=1 %关闭数据库开放端口
systemctl restart mariadb
netstatus -antlupe | grep mysql %执行上述操作后使用此命令查询不到端口
(3)mysql_secure_installation %执行安全初始化脚本
初始化完毕前:执行mysql命令可以直接进入数据库
初始化完毕后:进入数据库需要输入密码
mysql -uroot -p %-u 指定登陆用户,-p密码
三、数据库的基本管理
(1)查看
SHOW DATABASES; %显示库名称
USE mysql; %进入mysql库
SHOW TABLES; %显示库中的所有表
SELECT * FROM user; %查询所有数据
SELECT Host,User,Password FROM user; %查询指定字段
(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'); %插入数据
FLUSH PRIVILEGES; %刷新数据库
(3)更改
ALTER TABLE redhat RENAME linux; %改表名
ALTER TABLE linux ADD age varchar(4) BEFORE 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; %删除库
四、数据库密码更改及破解
(1)数据库密码更改
mysqladmin -uroot -plee password westos
(2)数据库密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables & %(不开授权表)
mysql进入
SELECT * FROM mysql.user %查看相关字段
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; %RHEL8
ps aux | grep mysql %查看mysql的所有进程
kill -9 mysql的所有进程
systemctl start mariadb
五、用户授权
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; %删除添加的可登陆的用户
通过网络添加:
[root@client ~]# mysql -uroot -pwestos -e "CREATE USER lee@'%' identified by 'lee';"
[root@client ~]# mysql -uroot -pwestos -e "SELECT User,Host FROM mysql.user;"
[root@client ~]# vim /etc/my.cnf.d/mariadb-server.cnf
[root@client ~]# systemctl restart mariadb.service
[root@client ~]# mysql -ulee -plee -h 172.25.254.101
MariaDB [(none)]> SELECT User FROM mysql.user; %查看可登陆数据库的本地用户
+------+
| User |
+------+
| root |
| root |
| root |
+------+
六、数据库的备份
(1)备份
mysqldump -uroot -p123 --all-databases
mysqldump -uroot -p123 --all-database --no-data (只备份空的表格,里面的数据不备份)
(2)恢复
恢复方式1:
mysql -uroot -p123 -e "CREATE DATABASES westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
恢复方式2:
vim /mnt/westos.sql
21行处编写下面两行:
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql
七、phpmyadmin的安装
dnf install httpd php php-mysqlnd -y %安装相关软件及服务
systemctl enable --now httpd
systemctl stop firewalld
cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
cd /var/www/html/
tar jxf phpMyAdmin-3.4.0-all-languages.tar.gz
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
cd mysqladmin
cp config.sample.inc.php config.inc.php
测试:在浏览器中访问http://ip/mysqladmin可看到该软件的图形界面,登入之后可以图形的方式编辑数据库