mysql数据库的基本管理
一、数据库简介
1、数据库——高级的表格软件
按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
2、常见数据库
MySQL,Oracle,mongodb,db2,sqlite,sqlserver …
3、MySQL
最受欢迎的开源SQL数据库管理系统,属于 Oracle 旗下产品
4、mariadb
mariadb是一个采用Maria存储引擎的MySQL分支,是免费开源的数据库服务器。
5、数据库中的常用名词
名词 | 含义 |
---|---|
字段 | 表格中的表头 |
表 | 表格 |
库 | 存放表格的目录 |
查询 | 对表格中的指定内容进行查看 |
二、mariadb的基本信息
1、mariadb的安装
dnf install mariadb-server.x86_64 -y
systemctl enable --now mariadb ##开启数据库
2、基本信息
mariadb.service | 启动服务 |
3306 | 默认端口号 |
/etc/my.cnf.d/mariadb-server.cnf | 主配置文件 |
/var/lib/mysql | 数据目录 |
当需要重新安装mariadb时,需要清理数据目录或备份
三、数据库的安全初始化
数据库在开启后默认没有密码登录,安全性不高,就需要做安全初始化
1、关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf ##编辑配置文件
systemctl restart mariadb ##重启服务
2、执行安全初始化脚本
mysql_secure_installation
安全初始化完成后使用mysql
-u
:指定登录用户,-p
:密码
mysql -u root -p
四、数据库的基本管理
1、查看
命令可大写可小写,但应保持一致,一般建议大写
命令 | 功能 |
---|---|
SHOW DATABASES; | 显示库名称 |
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示库中所有表 |
SELECT * FROM user; | 查询所有数据 |
SELECT Host,User,Password FROM user; | 查询指定字段 |
注意:命令后面的分号;(应为英文输入)不能少
忘记加分号后,出现换行,可以直接输出分号,然后回车即可
2、新建
命令 | 功能 |
---|---|
CREATE DATABASE skk; | 新建库 |
CREATE TABLE linux( ); | 新建表 |
DESC linux; | 显示表结构 |
INSERT INTO linux VALUES ( ); | 插入数据 |
3、更改
(1)更改库名称(一般不更改,可能造成数据丢失)
cd /var/lib/mysql/ ##切换到数据库目录
mv skk pop ##更改文件名
systemctl restart mariadb ##重启服务
(2)更改表名称(库名称已更改回skk)
ALTER TABLE linux RENAME rehat; ##更改表名称为rehat
(3)更改表结构
ALTER TABLE rehat ADD class varchar(4) AFTER username; ##在字段username后添加字段class
(4)添加表中数据
UPDATE rehat SET class='3' WHERE username='user1'; ##设定字段username为user1的字段class为3
4、删除
(1)删除表中数据
DELETE FROM rehat WHERE username='user2'; ##删除字段为user2的数据
(2)删除表的结构
ALTER TABLE rehat DROP class; ##从表的结构中删除字段class
(3)删除表
DROP TABLE rehat; ##删除表rehat
(4)删除库
DROP DATABASE skk; ##删除库skk
五、数据密码管理
1、数据库密码更改
前提是知道原先的密码
mysqladmin -u root -p旧密码 password 新密码
2、数据库密码破解
不知道密码的情况下可以使用
systemctl stop mariadb ##停止mariadb服务
mysqld_safe --skip-grant-tables & ##执行mysql安全协议,跳过密码检测
(1)使用mysqladmin更改过密码
UPDATE mysql.user SET authentication_string=password('skk') WHERE User='root'; ##设定root用户密码为skk,且加密
(2)未使用mysqladmin更改过密码
- 直接更改密码即可
UPDATE mysql.user SET Password=password('skk') WHERE User='root';
更改密码完成后操作:
kill -9 mysql的所有进程
systemctl start mariadb ##启动mariadb服务
六、数据库的备份
- 备份的实质是建立一样的库和表以及表中的数据,与复制一样
- 备份的作用是防止原数据库出现损坏或者丢失带来的问题
1、数据库整体的备份
mysqldump -uroot -p --all-database ##备份数据库的全部内容
mysqldump -uroot -p --all-database --no-data ##备份时不备份表中的数据,只备份库和表的结构
2、单独库的备份
mysqldump -uroot -p skk ##备份skk库的所有内容
mysqldump -uroot -p skk > /mnt/skk.sql ##备份skk库中内容到/mnt/skk.sql
3、备份的恢复
- 如果被备份的库不小心被删除,可以进行以下恢复
mysql -uroot -p -e "CREATE DATABASE skk;" ##先建立一个库
mysql -uroot -p skk < /mnt/skk.sql ##将备份导回之前的库
测试:
七、用户授权
1、创建用户
CREATE USER sk@localhost identified by 'skk'; ##创建用户sk,只能用localhost登录,by后面输入密码
CREATE USER qwa@% identified by '%'; ##创建用户可以通过网络或localhost登录
2、添加权限给新建用户
GRANT SELECT,DROP ON skk.* TO sk@localhost; ##给sk用户添加查询和删除权限
3、去除权限
REVOKE SELECT ON skk.* FROM sk@localhost; ##去除sk用户的查询权限
4、删除用户
DROP USER sk@localhost; ##删除sk用户
八、phpmyadmin的安装
- 安装完成后可以在网页上对数据库进行操作,会更加便捷
1、安装htpd,php,php-mysqlnd
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
2、安装phpmyadmin
(此处安装3.4版本,因为比较稳定,最新版可能会因为配套软件版本过老而出错)
- 软件包提前从网上下好
cp phpMyAdmin-3.4.0-all-languages.tar.bz2 /var/www/html/ ##复制软件压缩包到对应目录
cd /var/www/html ##切换到对应目录
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解档解压缩
mv phpMyAdmin-3.4.0-all-languages mysqladmin ##方便辨认,更改名称
cp config.sample.inc.php config.inc.php ##使用配置文件模板作配置文件
3、用firefox访问即可:
其他功能大家可以去摸索一下,在此只简单介绍phpmyadmin的安装,使用phpmyadmin将比输入命令更加快捷,清晰。