一、数据库的介绍
1.什么是数据库
数据库就是个高级的表格软件
2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …
3.数据库中的常用名词
名词 解释
字段 表格中的表头
表 表格
库 存放表格的目录
查询 对表格中的指定内容进行查看
4.Mysql (SUN----> Oracle)
mysql数据库本来是SUN公司的,后来SUN公司被甲骨文Oracle公司收购。mysql数据库后来更名为mariadb.
二、mariadb的安装
dnf install mariadb-server.x86_64 -y
三、软件基本信息
mariadb.service ##启动服务
3306 ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf ##主配置文件
/var/lib/mysql ##数据目录,当需要重新安装mariadb时需要清理此目录或备份
四、数据库开启
systemctl enable --now mariadb
五、数据库的安全初始化
1、执行安全初始化脚本
mysql_secure_installation
是否移除匿名用户:选是
是否不允许root用户远程登录:选是
是否把测试库的访问权力禁掉:选是是否刷新数据库:选是
2、关闭数据库开放端口
netstat -antlupe | grep mysql #查询数据库端口
编辑配置文件关闭开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
添加:
skip-networking=1
systemctl restart mariadb.service
再次查询端口
netstat -antlupe | grep mysql
六、数据库的基本管理
登录命令:
mysql -uroot -pxxx(密码)
或mysql -uroot -p 输入密码隐藏登录
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' ##查询指定字段并指定可查询的条件,多个条件用AND并联
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 linux RENAME userlist; #表格重命名
ALTER TABLE userlist ADD address varchar(20) ##添加新字段
ALTER TABLE linux DROP address; ##删除address字段
ALTER TABLE userlist ADD address varchar(20) AFTER username; ##指定位置添加字段
UPDATE userlist SET address=’XiAn‘; ##更改字段内容
UPDATE userlist SET sex='BeiJing' WHERE username='user1'; ##更改字段内容并更改指定条件
4、关于删除的命令
DELETE FROM userlist WHERE username='user1'; ##删除userlist表中符合指定条件的行
DROP TABLE userlist; ##删除表格
DROP DATABASE westos; ##删除数据库
七、数据密码管理
1、数据密码更改(已知原密码)
mysqladmin -uroot -p123 password lee
2、数据库密码破解(忘了密码,更换新密码)
systemctl stop mariadb ##先关闭mariadb服务
mysqld_safe --skip-grant-tables & ##启动mysql安全模式并后台运行
mysql ##无需密码进入数据库
##当未使用mysqladmin更改过密码时:
UPDATE mysql.user SET Password=password('westos') WHERE User='root';
##当使用过mysqladmin更改密码时:
UPDATE mysql.user SET authentication=password('westos') WHERE User='root';
更改后:
ps aux | grep mysql
用kill -9 关闭 mysql相关进程
重启服务
systemctl restart mariadb.service
八、用户授权
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; %查看可登陆数据库的本地用户
九、数据库备份与还原
1、备份
mysqldump -uroot -p123 --all-database --no-data #不备份内容,只备份结构
mysqldump -uroot -p123 --all-database >/mnt/all.sql #将所有数据库内容备份到/mnt/all.sql文件
mysqldump -uroot -p123 westos > /mnt/westos.sql #将westos数据库备份到/mnt/westos.sql文件
为了实验,重新新建数据库westos,在westos库中新建表格userlist,并添加内容
2、恢复
先删除westos数据库
方式1:
mysql -uroot -p123 -e "CREATE DATABASE westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
查询:
mysql -uroot -p123 -e "SELECT * FROM westos.userlist;"
方式2:
vim /mnt/westos.sql
编辑备份文件,添加:
CREATE DATABASE westos;
USE westos;
mysql -uroot -p123 < /mnt/westos.sql
mysql -uroot -p123 -e "SELECT * FROM westos.userlist;"
十、phpmyadmin的安装
phpmuadmin是一种基于web的网页管理mysql数据库的软件。
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://172.25.254.172/mysqladmin
在网页操作后,查看数据库