一、数据库的介绍:
什么是数据库
数据库就是个高级的表格软件
常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …
Mysql (SUN -----> Oracle)
mariadb:MariaDB数据库管理系统是MySQL的一个分支
二、软件基本信息:
mariadb.service | 启动服务 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录,当需要重新安装mariadb时需要清理此目录或备份 |
三:使用
1.安装
dnf search mariadb
2 dnf install mariadb-server.x86_64
3 mysql
4 systemctl enable --now mariadb
5 mysql
2.数据库的安全初始化
1.关闭开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
修改后 systemctl restart mariadb.service
skip-networking=1
效果查看:输入下命令没有结果
netstat -antlupe |grep mysql
2.执行安全初始化脚本
(1)设置超级用户密码
(2)禁止匿名登陆,禁止超级用户远程登录
(3) 去掉测试表,重新加载数据库
四:数据库的基本查看
1.查看mysql库的表
SHOW DATABASES;
USE mysql;
SHOW TABLES;
2.指定信息查询
SELECT User,Password FROM user;
2.新建数据库和表
CREATE DATABASE test;
use test;
CREATE TABLE testable(
-> username varchar(6) not null,
-> passwd varchar(6) not null);
DESC testable; 显示表结构
3.向数据库中插入数据
INSERT INTO testable VALUES('user1','123');
SELECT * FROM testable; 用于查看表中内容
4.刷新数据库
FLUSH PRIVILEGES;
5.表名称更改
ALTER TABLE testable RENAME cuiyingying; 表名称改为cuiyingying
6.新增列&删除列
ALTER TABLE cuiyingying ADD age varchar(4) AFTER username;
在姓名后新增年龄选项,若没有after,默认放在最后
ALTER TABLE cuiyingying DROP age;
删掉age属性
7.指定对象的内容修改
UPDATE cuiyingying SET passwd='555' WHERE username='user2';
user2的密码改为555
8.删除
DROP TABLE cuiyingying;
DROP DATABASE test;
DELETE FROM cuiyingying WHERE username='user2' AND age='5';指定行删除
五.数据库密码管理
1.旧密码已知
mysqladmin -uroot -p password lee
2.旧密码不知道
systemctl stop mariadb 关闭服务
mysqld_safe --skip-grant-tables & 跳过认证环节
UPDATE mysql.user set Password=password(‘westos’) WHERE User=‘root’;
UPDATE mysql.user set authentication_string=password(‘westos’) WHERE User=‘root’;
kill -9 id 杀死mysql的所有进程 :关掉跳过认证进程,最后剩下auto mysql一个进程
systemctl start mariadb 重启服务
UPDATE mysql.user SET password=passwd'lee' WHERE User='root';
当root用户的密码没有经过任何修改的时候。执行下命令
UPDATE mysql.user set authentication_string=password(‘westos’) WHERE User=‘root’;
密码已经被修改过了,又忘了
ps aux|grep mysql 查询进程的id
kill -9 11566 关掉跳过认证的所有进程
kill -9 11472
效果查看:
十、phpmyadmin的安装
wget http://172.25.254.250/software/phpMyAdmin-3.4.0-all-languages.tar.bz2
dnf install php httpd php-mysqlnd -y
安装好所需的软件
1.把从250下载的软件包解压,放到http根目录下
cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html/
cd /var/www/html/
ls
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2
ls
mv phpMyAdmin-3.4.0-all-languages
mv phpMyAdmin-3.4.0-all-languages/ test
修改配置文件 :
cd test
ls
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret']='ba17c1ec07d65003'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
效果测试:浏览器输入172。25。254。112/test
8.数据库的备份
数据库的备份
mysqldump -uroot -pwestos --all-database 备份所有数据
mysqldump -uroot -pwestos --all-database --no-data 只要数据库结构不要数据
mysqldump -uroot -pwestos mysql > /mnt/mysql.sql 导出到文件
mysqldump -uroot -pwestos --all-databases > /mnt/all.sql
mysqldump -uroot -pwestos --all-databases --no-data > /mnt/all_nodata.sql
mysqldump -uroot -pwestos westostest > /mnt/westostest.sql
数据库的还原
1.把test数据库备份好并且进入数据库,删掉test数据库
mysqldump -uroot -pwestos test > /mnt/test.sql
mysql -uroot -p
DROP DATABASE test;
2.还原
mysql -uroot -pwestos -e "CREATE DATABASE test;"
mysql -uroot -pwestos test < /mnt/test.sql
或者直接在导出的文件操作
CREATE DATABASE test;
USE test;
mysql -uroot -pwestos < /mnt/test.sql
不用加数据库名称
9.创建用户与授权
% ##通过远程登陆
@localhost ##只能通过本地登陆
数据库中:
CREATE USER westos@localhost identified by 'westos';
CREATE USER lee@'%' identified by 'westos';
systemctl restart mariadb.service
systemctl stop firewalld.service