mysql 数据库的基本管理
数据库的介绍
- 什么是数据库
数据库就是个高级的表格软件 - 常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver … - mariadb:MariaDB数据库管理系统是MySQL的一个分支
Mariadb 的安装和软件基本信息
- 安装: dnf install mariadb-server.x86_64 -y
- mariadb.service #服务名称
- 3306 #默认端口号
- /etc/my.cnf ##主配置文件
- /var/lib/mysql #数据目录,当需要重新安装mariadb时需要清理此目录或备份
开启服务
- systemctl enable --now mariadb #开机自启并且立马开启
数据库的安全初始化
- 关闭数据库开放端口
通过编辑配置文件关闭数据库开放端口 vim /etc/my.cnf - 执行安全初始化脚本 mysql_secure_installation
数据库的基本管理
- 登陆
mysql -u用户名 -p密码 #登陆
mysql -u用户名 -p密码 -e ‘命令’ #不用登陆到mysql执行命令
注:为了操作规范,以上的密码都可以不写在命令行,在按下回车之后会弹出窗口要求输入密码
- 查看
SHOW DATABASES; ##显示库名称
USE mysql; ##进入mysql库
SHOW TABLES; ##显示库中的所有表
SELECT * FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##查询指定字段
- 新建
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; #刷新数据库
- 更改
ALTER TABLE linux RENAME redhat; #重命名表的名字
ALTER TABLE redhat ADD age varchar(4) AFTER username; #增加表的结构
ALTER TABLE redhat DROP age; #删除表的结构
UPDATE redhat SET sex=‘man’ WHERE username=‘user1’ and password=‘123’; #更新表
- 删除
DELETE FROM redhat WHERE username=‘user1’ and sex=‘man’; - DROP TABLE redhat;
- DROP DATABASE westos;
- 退出
quit 和 快捷键ctrl +d
数据库密码管理
- 密码更改
mysqladmin -uroot -pwestos password snji - 密码破解
- 停止服务 systemctl stop mariadb
- mysqld_safe --skip-grant-tables & #跳过认证环节进入mysql
- mysql #进入mysql
- UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’; #修改mysql中root 密码 为lee (rhel8修改)
UPDATE mysql.user set Password=password(‘lee’) WHERE User=‘root’;(rhel7修改密码) password(‘lee’) 对密码加密处理 - ps axu |grep mysql #查看系统中所用关于mysql的进程
- kill -9 1757 1851 #杀死所有和mysql有关的进程
- 开启服务,测试
用户授权
- CREATE USER lee@localhost identified by ‘lee’; #只能用localhost登陆
CREATE USER lee@% identified by ‘%’; #可以通过网络或localhost登陆 - GRANT INSERT,SELECT ON westos.* TO lee@localhost; #给本地用户lee加入插入和查看数据库westos下所有表的权力
- SHOW GRANTS for lee@localhost; #查看本地用户less的权力
- REVOKE SELECT ON westos.* FROM lee@localhost; #移除本地用户lee对数据库westos 的查看权力
- DROP user lee@localhost; #删除本地用户
数据库的备份以及恢复
备份
- mysqldump -uroot -plee --all-databases #备份所有数据库的信息
- mysqldump -uroot -plee --all-databases --no-data #备份所有数据库的表的结构,没有备份每个表里面的内容
- mysqldump -uroot -plee westos #备份数据库westos里的信息
- mysqldump -uroot -plee westos > /mnt/westos.sql #备份数据库westos的信息,并且重定向到westos.sql文件里
恢复
第一种方法
- mysql -uroot -plee -e ’create database westos;‘ #创建数据库westos
- mysql -uroot -plee westos < /mnt/westos.sql #将备份文件导入数据库
第二种方法恢复
- 编辑备份文件
- mysql -uroot -plee < /mnt/westos.sql #直接将备份文件导入数据库
phpmyadmin的安装实现网页对数据表进行操作
- dnf install httpd php php-mysqlnd -y
- systemctl enable --now httpd
- systemctl stop firewalld
- tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/ #解压缩到/var/www/html/下
- cd /var/www/html
- mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
- cp config.sample.inc.php config.inc.php #获取配置文件
- http://172.25.254.103/mysqladmin/