数据库是个高级的表格软件。用户可以对文件中的数据运行新增、截取、更新、删除等操作。以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
Mysql 、Oracle、 mongodb 、db2 、sqlite 、sqlserver …
下面提到的数据库是mysql,它的服务名是mariadb,我们先把此服务安装上
dnf install mariadb-server.x86_64 -y
mariadb | 服务名称 |
---|---|
3306 | 默认端口号 |
/etc/my.cnf | 主配置文件 |
/var/lib/mysql | 数据目录(当需要重新安装mariadb时需清理此目录或备份 ) |
在systemctl enable --now mariadb
netstat -antulpe | grep mysql
【查询端口】
[mysqld]
skip-networking=1
注意:编辑完主配置文件后一定要重启服务才能生效!systemctl restart mariadb
mysql_secure_installation
【初始化】
(初始化时会让你输入密码,后面还会有许多y or n的问题,在下面我们都选的y)
初始化完毕后像上面输入mysql时,此时会报错
需要mysql -uroot -p
【-u 指定登陆用户 -p 密码】
SHOW DATABASES; | 显示库名称 |
---|---|
USE mysql; | 进入mysql库 |
SHOW TABLES; | 显示mysql库中的所有表 |
SELECT * FROM user; | 查询表user里数据 |
SELECT Host,User,Password FROM user; | 查询指定字段 |
Host后面应是一行,显示屏窄所以分成了多行
localhost是Host这一行表头的回答
查询指定字段
注:以上所有命令后面都记得加;分号!!!
CREATE DATABASE LYX; | 新建库 |
---|---|
CREATE TABLE nihao (); | 新建表 |
DESC nihao; | 显示表结构 |
INSERT INTO nihao VALUES (‘lyx’,‘123’); | 插入数据 |
FLUSH PRIVILEGES; | 刷新数据库 |
[新建库]
[新建表]
[显示表结构]
[插入数据]
[刷新数据库]
本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
mysql用户数据和权限有修改后,希望在”不重启mysql服务”的情况下直接生效,那么就需要执行这个命令。
ALTER TABLE nihao RENAME hello; | 重命名表的名称 |
---|---|
ALTER TABLE hello ADD age varchar(4) ; | 添加表内容 |
ALTER TABLE hello DROP age; | 删除表里某个数据 |
UPDATE hello SET password=666 WHERE username=‘lyx’; | 更改表里某一数据内容 |
[重命名表的名称]
删除指定的某一数据
若此名有多行,可以在后面多加设定(年龄19),就指定到你所要删的那一行
(此时是在知道原密码的情况下)
mysqladmin -uroot -p原密码 password 修改后密码
(此时如果不知道原密码)
systemctl stop mariadb
(先停止服务)
mysqld_safe --skip-grant-tables &
(输入此命令跳过输入密码过程)
进入mysql数据库,版本不同修改密码的语句也不同
RHEL7:UPDATE mysql.user set Password=password(‘lee’) WHERE User=‘root’;
RHEL8:UPDATE mysql.user set authentication_string=password(‘lee’) WHERE User=‘root’;
杀掉mysql的所有进程
systemctl start mariadb
(此时在启动此服务)
CREATE USER LEE@localhost identified by ‘LEE’; | 只能用localhost登陆(by后面是密码) |
---|---|
CREATE USER LEE@% identified by ‘%’; | 可以通过网络或localhost登陆 |
此时登陆LEE用户,会发现看不到库名;
我们给它授予一定的权力
此时登陆LEE用户时,可以查看到库名,表,以及表里内容。
REVOKE SELECT ON lyx.* FROM LEE@localhost;(删除授权)
DROP user LEE@localhost;(删除用户)
也可以在不进入库的时候进行修改
(在操作中,如果我们不小心将库删除,就无法恢复还得重建会较麻烦,所以我们要对数据库进行备份,以防误操作。)
mysqldump -uroot -p123 --all-database | 有表格有数据 |
---|---|
mysqldump -uroot -p123 --all-database --no-data | 有表格无数据 |
mysqldump -uroot -p123 LYX | 查看库LYX里的表格、数据 |
mysqldump -uroot -p123 LYX > /mnt/LYX.sql | 把库LYX里表格、数据导入到此文件里 |
mysql -uroot -p123 LYX < /mnt/LYX.sql | 把此文件里内容录入到LYX库里 |
我们用库LYX来进行操作,先将此库的表格与数据备份到文件里。
如果我们不小心将LYX库删除,如何恢复呢?
我们先创建库LYX
那库LYX里边的表格以及数据内容如何恢复呢?
我们把刚才导入到文件里的内容录入到新建的库 LYX里
(有了此功能,我们就可以在网页上用鼠标点着去创建你想要的库和数据表,不用手敲命令去建立,方便了许多~)
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld
解bz2压缩包到共享目录(可在网络上访问)下,并复制文件
此主机的ip为192.168.0.205
firefox http://192.168.0.205/mysqladmin
此时在网络上访问此ip下的mysqladmin目录,就可以看到数据库了
创建好后点左上角刷新
刷新后会发现左边一列多了刚才创建的YAU库,点进去
点保存后在点左上角刷新
会发现多了yau表
这样库、表就创建好了,是不是很方便呢?