1 数据库的基本介绍
1.1 数据库的基本介绍
- 数据库的本质就是高级的excle表格。
- 常见的数据库有:MySQL、Oracle 、sqlserver
- mariadb就是MySQL的一种。
- 数据库常用的名词
1.字段 :表格中的表头,每一列就是一个字段
2.表 :表格
3.库 :存放表格的目录,许多个表格组成了库
4.查询 :对表格中的指定内容进行查看
5.数据库:许多的库组成大的数据库
1.2 数据库的安装
dnf install mariadb-server.x86_64 -y
1.3 数据库的启用
systemctl enable --now mariadb
1.4 数据库基本信息
mariadb.service ##启动服务
3306 ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf ##主配置文件
/var/lib/mysql ##数据目录,当需要重新安装mariadb时需要清理此目录或备份
2 数据库的安全初始化
2.1 关闭数据库开放端口
/etc/my.cnf.d/mariadb-server.cnf # 在主配置文件中,增加下面的内容
skip-networking=1
2.2 执行安全初始化脚本
mysql_secure_installation
3 数据库的基本管理
3.1 增
- 新建数据库
CREATE DATABASE sxl; # sxl是库名字
- 创建表结构
CREATE TABLE sxl.linux ( # sxl是数据库,linux是sxl库中的表
username varchar(6) not null,
password varchar(30) not null
);
- 在表中添加数据
INSERT INTO sxl.linux VALUES ('user1','123'),('user2','345'); # 按照表结构写数据
3.2 删
- 删除符合条件的行
DELETE FROM linux1 WHERE username='user1';
- 删表
DROP TABLE linux1;
- 删库
DROP DATABASE sxl;
3.3 改
- 更改数据库中的表名
ALTER TABLE linux RENAME linux1;
- 在表中插入新的属性信息
ALTER TABLE linux1 ADD age varchar(4) AFTER username;
- 更新表中的属性值
UPDATE linux1 SET age=18 WHERE username='user2'; # 更新符合条件的
UPDATE linux1 SET age=20; # 更新所有
- 丢弃某一字段
ALTER TABLE linux1 DROP age;
- 丢弃某一字段
ALTER TABLE linux1 DROP age;
3.4 查
- 查看有哪些数据库
SHOW DATABASES;
- 使用其中的数据库
USE sxl;
- 查看数据库中的表
SHOW TABLES;
- 查询表中所有数据
SELECT * FROM linux;
- 查询指定字段
SELECT username FROM linux;
- 查询符合条件的数据
SELECT * FROM linux WHERE username='user2';
4 数据密码管理
4.1 数据密码更改
mysqladmin -uroot -pwestos password sxlsxl
4.2 数据库密码破解(忘记密码)
systemctl stop mariadb
mysqld_safe --skip-grant-tables &
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
- 关掉数据库
systemctl stop mariadb
- 跳过数据库安全认证
mysqld_safe --skip-grant-tables &
-
更新数据库密码
-
关闭所有mysql进程
ps aux | grep mysql
kill -9 mysql的所有进程
- 重启服务
systemctl start mariadb
5 用户授权
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;
6 数据库备份
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
7 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 zxf 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
firefox http://192.168.0.12/mysqladmin