目录
mysql数据库的基本管理
1、数据库的介绍
1.什么是数据库
数据库就是个高级的表格软件2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver .......3.Mysql (SUN公司 -----> Oracle公司)
4.mariadb(相当于一个私企,使用时需要授权)
数据库中的常用名词
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看
2、mariadb的安装
dnf install mariadb-server.x86_64 -y
3、软件基本信息
rpm -qc mariadb-server ##查看服务相关信息
netstat -antlupe | grep mysql ##查看端口mariadb.service ##启动服务
3306 ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf ##主配置文件
/var/lib/mysql ##数据目录,当需要重新安装mariadb时需要清理此目录或备份
4、数据库开启
systemctl enable --now mariadb
5、数据库的安全初始化
1.关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
skip-networking=1 #关闭默认端口
systemctl restart mariadb #重启
netstatus -antlupe | grep mysql #此命令查询不到端口,使其更加安全
2.执行安全初始化脚本
mysql_secure_installation
Set root password? [Y/n]
Remove anonymous users? [Y/n] #移除匿名用户登录
Disallow root login remotely? [Y/n] #拒绝远程用户登录
Remove test database and access to it? [Y/n] #移除数据库测试
Reload privilege tables now? [Y/n] #重新加载表数据库
[root@Mariadb ~]# mysql ##默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)[root@Mariadb ~]# mysql -uroot -p ## -u 指定登陆用户 -p 密码
6、数据库的基本管理
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' #查找mysql库中user表里 User为root的Host字段数据
2.新建
CREATE DATABASE westos; ##新建库
CREATE TABLE linux ( ##新建表
username varchar(6) not null, 添加字段(表头为username,字段最长为6且不为空)
password varchar(30) not null
);
DESC linux; ##显示表结构
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(8) | NO | | NULL | |
| passwd | varchar(30) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
INTO linux VALUES ('user1','123'),('user2','456'); #插入两条数据用,(逗号)间隔
FLUSH PRIVILEGES; #刷新数据库 (作出修改密码等更改后,怕数据丢失,用此命令,无需重启服务,使新设定生效)
3.更改
ALTER TABLE linux RENAME aaa; #更改linux表名为aaa
ALTER TABLE linux ADD age varchar(4) AFTER password; #指定位置password后面插入字段age,字段长最大为4
ALTER TABLE linux DROP age; #删除age字段
UPDATE linux SET age=18' WHERE username='user2'; #添加字段username的年龄age为18,后面不跟where参数的话,表示给所有字段添加年龄
4.删除
DELETE from linux where username='user2' and age='18'; #删数据
DROP TABLE linux; #删表
DROP DATABASE westos; #删库
7、数据库密码管理
1.数据密码更改
mysqladmin -uroot -p password westos (知道原密码)
2.数据库密码破解
systemctl stop mariadb #停止mariadb服务
mysqld_safe --skip-grant-tables & #跳过授权表启动数据库 (& 表示打入后台,否则太占用系统资源)
mysql -uroot #打开数据库
USE mysql --> SELECT * FROM user #进入数据表,其表头中有Password 和 authentication_string
(select * from mysql.user)
UPDATE mysql.user set Password=password('westos') WHERE User='root'; ##当未使用mysqladmin更改过密码
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; ##当使用mysqladmin更改过密码
='westos' {passwd('密码')表示用加密字符加密。}
ps aux | grep mysql
kill -9 进程号 mysql的所有进程
systemctl start mariadb
8、用户授权
环境:
vim /etc/my.cnf.d/mariadb-server.cnf #注释之前实验添加的 ‘关闭默认端口语句’
#skip-networking=1
systemctl restart mariadb.service #重启;关火墙
systemctl stop firewalld.service
实验:
CREATE USER lee@localhost identified by 'lee'; ##只能用localhost登陆(本地登录)
CREATE USER westos@% identified by 'westos'; ##可以通过网络或localhost登陆
SELECT * FROM mysql.user; #查看所有用户
GRANT INSERT,SELECT ON westos.* TO lee@localhost; #添加权限可以访问westos数据库
SHOW GRANTS for lee@localhost; #查看lee用户的信息
mysql -ulee -plee #进入lee用户可以查看到westos
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| westos |
+--------------------+
REVOKE SELECT ON westos.* FROM lee@localhost; #删除lee的访问westos权限
DROP user lee@localhost; #删除用户
9、数据库的备份
备份
mysqldump -uroot -p123 --all-database #备份所有数据库
mysqldump -uroot -p123 --all-database --no-data #备份所有数据库表不要其中的数据mysqldump -uroot -p123 westos #备份数据库westos
mysqldump -uroot -p123 westos > /mnt/westos.sql #备份数据库westos并保存备份文件到/mnt/westos.sql恢复
test1:
mysql -uroot -p123 -e "create database westos;" #新建空的westos库
mysql -uroot -p123 westos < /mnt/westos.sql #导入备份文件test2:
vim /mnt/westos.sql #编辑备份文件,在其中加上创建和使用westos库的sql语句
CREATE DATABASE westos; **注意此处修改后,第一种方法将不可用
USE westos;mysql -uroot -p123 < /mnt/westos.sql #直接导入备份文件,不指定库
10、phpmyadmin的安装
dnf install httpd php php-mysqlnd -y 安装php、http、php插件
systemctl enable --now httpd 打开http,关闭firewalld
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
php -m 查看插件是否匹配
vim /var/www/html/mysqladmin/Documentation.txt 查看安装配置php服务的说明
cp config.sample.inc.php config.inc.php 根据说明复制文件firefox http://172.25.254.220/mysqladmin 测试
Ctrl+Shift+Delete 浏览器清除缓存