第四章 mysql数据库的基本管理

一.数据库的介绍
什么是数据库

数据库就是个高级的表格软件

常见数据库:Mysql、Oracle、mongodb、db2、sqlite、sqlserver .......

Mysql (SUN-----> Oracle)

mariadb:MariaDB数据库管理系统是MySQL的一个分支

数据库中的常用名词:

1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看

二.软件的使用

1.mariadb的安装与开启

dnf install mariadb-server -y   ##下载mariadb并安装
systemctl enable --now mariadb   ##开启
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
rpm -qc mariadb-server
/etc/logrotate.d/mariadb
/etc/my.cnf.d/enable_encryption.preset
/etc/my.cnf.d/mariadb-server.cnf      
/var/log/mariadb/mariadb.log

 

2.关闭数据库开放端口

vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1

systemctl restart mariadb
查看效果:
netstat -antlupe | grep mysql  ##此命令查询不到端口据库的安全初始化

2)执行安全初始化脚本

设置超级用户密码

 

禁止匿名登陆,禁止超级用户远程登录

去掉测试表重新加载数据库

三.数据库的管理

1.显示
MariaDB [(none)]> SHOW DATABASES;           ##显示库名称
MariaDB [(none)]> SHOW TABLES FROM mysql;   ##查看mysql数据库中的所有表
MariaDB [(none)]> USE mysql;           ##进入mysql数据库
MariaDB [mysql]> SHOW TABLES;          ##显示库中的所有表
MariaDB [mysql]> SELECT * FROM user;   ##查询所有数据
MariaDB [mysql]> SELECT Host,User,Password FROM user; ##查询指定字段
MariaDB [mysql]> SELECT Host,User,Password FROM mysql.user WHERE Host='localhost';

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.更改

MariaDB [westos]> ALTER TABLE userlist RENAME user;
MariaDB [westos]> SHOW TABLES;
MariaDB [westos]> DESC user;
MariaDB [westos]> ALTER TABLE user add address varchar(50);
MariaDB [westos]> ALTER TABLE user add age varchar(4);
MariaDB [westos]> DESC user;
MariaDB [westos]> ALTER TABLE user DROP age;
MariaDB [westos]> ALTER TABLE user add age varchar(4) AFTER password;
MariaDB [westos]> DESC user;
MariaDB [westos]> UPDATE user SET password='456' WHERE username='user3';
MariaDB [westos]> SELECT * FROM westos.user;

 

4.删除

MariaDB [westos]> DELETE FROM westos.user WHERE username='user3';
MariaDB [westos]> DROP TABLE westos.user;  ##删除表
MariaDB [westos]> DROP DATABASE westos;     ##删除库

四.数据密码管理

1.更改

mysqladmin -uroot -p password westos 

2.数据库密码破解

systemctl stop mariadb
mysqld_safe --skip-grant-tables &
UPDATE mysql.user set Password=password('westos') WHERE User='root';  ##当未使用过mysladmin更改过密码
UPDATE mysql.user set authentication_string=password('westos') WHERE User='root'; ##当使用过
mysladmin更改过密码
 flush privileges;
ps aux | grep mysql
kill -9 mysql的所有进程
systemctl start mariadb

 

五.用户授权


添加用户:
CREATE USER westos@localhost identified by 'westos';  ##只能用localhost登陆
CREATE USER lee@% identified by '%';             ##可以通过网络或localhost登陆
用户授权:
GRANT SELECT ON *.* TO westos@localhost;  ##给用户westos加入查询权限
GRANT INSERT ON *.* TO westos@localhost;
SHOW GRANTS FOR westos@localhost;   ##查看用户权限
REVOKE INSERT ON *.* FROM westos@localhost;   ##移除权限

 

六.数据库的备份


采用非交互方式建立一个库:
mysql -uroot -pwestos -e "CREATE DATABASE westos;"
mysql -uroot -pwestos -e "CREATE TABLE westos.user(user varchar(10) not null,passwd varchar(50) not null);"
mysql -uroot -pwestos -e "INSERT INTO westos.user VALUES ('user1','123'),('user2','123');"
mysql -uroot -pwestos -e "SELECT * FROM westos.user;"

1.库的备份

mysqldump -uroot -pwestos --all-database   ##全部备份
mysqldump -uroot -pwestos --all-database --no-data  ##不备份数据
mysqldump -uroot -pwestos --all-database --no-data | wc -l
mysqldump -uroot -pwestos --all-database | wc -l
mysqldump -uroot -pwestos westos > /mnt/westos.sql  ##将westos库全部备份到/mnt/westos.sql文件中

2.数据的恢复


mysql -uroot -pwestos -e "DROP DATABASE westos;"  ##删除mysql数据库中的westos库
mysql -uroot -pwestos -e "SHOW DATABASES;"
 
方法1:先创建DATABASE,之后导入数据到已经创建的westos库中
mysql -uroot -pwestos -e "CREATE DATABASE westos;" 

mysql -uroot -pwestos westos < /mnt/westos.sql
mysql -uroot -pwestos -e "SELECT * FROM westos.user

 


方法2:编辑备份文件
vim /mnt/westos.sql 
CREATE DATABASE westos;
USE westos;
 
mysql -uroot -pwestos < /mnt/westos.sql   ##直接将备份文件导入
mysql -uroot -pwestos -e "SELECT * FROM westos.user;"   ##测试一下,是否成功
 

七.phpmyadmin的安装

 cd /mnt/
 ls
westos.sql
wget http://172.25.254.250/software/phpMyAdmin-3.4.0-all-languages.tar.bz2

ls
phpMyAdmin-3.4.0-all-languages.tar.bz2  westos.sql
dnf install httpd php php-mysqlnd -y
ls 
phpMyAdmin-3.4.0-all-languages.tar.bz2  westos.sql
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
cd /var/www/html/
ls
phpMyAdmin-3.4.0-all-languages
mv phpMyAdmin-3.4.0-all-languages/ myadmin
ls
myadmin
cd myadmin/
cp config.sample.inc.php config.inc.php  ##根据模板生成配置文件
less Documentation.txt
vim config.inc.php 
systemctl restart httpd           ##重启服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值