欢迎投稿

今日深度:

Mariadb,常见数据库&#xff

Mariadb,常见数据库ÿ


文章目录

  • 1.数据库的介绍
  • 2.mariadb的安装与开启
  • 3.软件基本信息
  • 4.数据库的安全初始化
    • 4.1 执行安全初始化脚本
    • 4.2 关闭数据库开放端口
  • 5.数据库的基本管理
    • 5.1查看
    • 5.2新建
    • 5.3更改
    • 5.4备份与删除
  • 6.数据库密码管理
    • 6.1数据密码更改
    • 6.2数据密码破解
  • 7.用户授权
  • 8.phpmyadmin的安装

1.数据库的介绍

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

  1. 常见数据库:

Mysql Oracle mongodb db2 sqlite sql-server

  1. Mysql (SUN - - - > Oracle)

  2. mariadb

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

2.mariadb的安装与开启

dnf search mariadb
dnf install -y mariadb-server.x86_64 安装
systemctl enable --now mariadb 开启


3.软件基本信息

信息解释
mariadb.service启动服务
3306默认端口号
vim /etc/my.cnf.d/mariadb-server.cnf主配置文件
/var/lib/mysql数据目录,当需要重新安装mariadb时需要清理此目录或备份

4.数据库的安全初始化

4.1 执行安全初始化脚本

mysql 登陆默认不需要密码,初始化完毕后需要

mysql_secure_installation 执行安全初始化脚本

mysql -uroot -p -u指定登陆用户,-p密码

4.2 关闭数据库开放端口

netatst -antlupe | grep mysql查询到端口为3306

vim /etc/my.cnf.d/mariadb-server.cnf
 21 skip-networking=1

systemctl restart mariadb

netatst -antlupe | grep mysql查询不到端口

5.数据库的基本管理

5.1查看

mysql -uroot -p

MariaDB [mysql]> SHOW DATABASES;      					#显示库名称
MariaDB [mysql]> USE mysql;			  					#进入mysql库
MariaDB [mysql]> SHOW TABLES;		  					#显示库中的所有表
MariaDB [mysql]> SELECT * FROM user;  					#查询所有数据
MariaDB [mysql]> SELECT Host,User,Password FROM user;   #查询指定字段


5.2新建

MariaDB [mysql]> CREATE DATABASE westos;     #新建库
MariaDB [mysql]> SHOW DATABASES;
MariaDB [mysql]> USE westos;
MariaDB [westos]> SHOW TABLES;

MariaDB [westos]> CREATE TABLE linux (
    -> username varchar(10) not null,
    -> password varchar(40) not null
    -> );   								 #新建表
MariaDB [westos]> DESC linux;  显示表结构

MariaDB [westos]> INSERT INTO linux VALUES('user1','123');     #插入数据
MariaDB [westos]> INSERT INTO linux VALUES('user2','123'),('user3','123');  
#插入多行数据

MariaDB [westos]> FLUSH PRIVILEGES;         #刷新数据库
MariaDB [westos]> SELECT * FROM linux;
+----------+----------+
| username | password |
+----------+----------+
| user1    | 123      |
| user2    | 123      |
| user3    | 123      |
+----------+----------+
3 rows in set (0.000 sec)


5.3更改

更改数据库的名称可能会导致数据丢失,一般不建议更改。

更改表名:

MariaDB [(none)]> USE westos;
MariaDB [westos]> ALTER TABLE linux RENAME user;
MariaDB [westos]> SHOW TABLES;

添加行:

MariaDB [westos]> ALTER TABLE user ADD class varchar(6);
MariaDB [westos]> ALTER TABLE user ADD age varchar(6) AFTER password;  
#默认添加在表中最后一行的后面,可用AFTER指定想要的位置

添加表中数据:

UPDATE user SET age='18' WHERE username='user1';
SELECT * FROM user;
UPDATE user SET age='18',class='linux' WHERE username='user1';   用逗号隔开
UPDATE user SET age='18',class='c++' WHERE username='user2';
UPDATE user SET age='18',class='jav' WHERE username='user3';
SELECT * FROM user;
+----------+----------+------+-------+
| username | password | age  | class |
+----------+----------+------+-------+
| user1    | 123      | 18   | linux |
| user2    | 123      | 18   | c++   |
| user3    | 123      | 18   | jav   |
+----------+----------+------+-------+


5.4备份与删除

备份数据库:

mysqldump -uroot -p123 --all-database 
#备份所有数据库

mysqldump -uroot -p123 --all-database --no-data 
#备份所有数据库的数据结构,不备份数据

mysqldump -uroot -p123 westos 
#备份指定数据库

mysqldump -uroot -p westos > /mnt/westos.sql  
#备份指定数据库到指定目录
Enter password: 

删除表中某行数据、删除表、删除库:

MariaDB [westos]> DELETE from user WHERE username='user1' and class='linux';

MariaDB [westos]> DROP TABLE user;

MariaDB [westos]> DROP DATABASE westos;

恢复备份:
通过修改备份文件完成恢复:

[root@node1 ~]# mysql -uroot -p westos < /mnt/westos.sql 
Enter password: 
ERROR 1049 (42000): Unknown database 'westos'

vim /mnt/westos.sql
 22 CREATE DATABASE westos;
 23 USE westos;

mysql -uroot -p < /mnt/westos.sql 
Enter password: 
mysql -uroot -p -e "SELECT * FROM westos.user;"
Enter password: 
+----------+----------+------+-------+
| username | password | age  | class |
+----------+----------+------+-------+
| user1    | 123      | 18   | linux |
| user2    | 123      | 18   | c++   |
| user3    | 123      | 18   | jav   |
+----------+----------+------+-------+

通过执行命令完成备份:

删除数据库westos:
[root@node1 ~]# mysql -uroot -p -e "DROP DATABASE westos;"
Enter password: 
[root@node1 ~]# mysql -uroot -p -e "SELECT * FROM westos.user;"
Enter password: 
ERROR 1146 (42S02) at line 1: Table 'westos.user' doesn't exist


vim /mnt/westos.sql
#CREATE DATABASE westos;
#USE westos;

[root@node1 ~]# mysql -uroot -p -e "CREATE DATABASE westos;"
Enter password: 
[root@node1 ~]# mysql -uroot -p westos < /mnt/westos.sql 
Enter password: 
[root@node1 ~]# mysql -uroot -p -e "SELECT * FROM westos.user;"
Enter password: 
+----------+----------+------+-------+
| username | password | age  | class |
+----------+----------+------+-------+
| user1    | 123      | 18   | linux |
| user2    | 123      | 18   | c++   |
| user3    | 123      | 18   | jav   |
+----------+----------+------+-------+

6.数据库密码管理

6.1数据密码更改

原本密码为westos可成功登陆:
mysql -uroot -pwestos
#Welcome to the MariaDB monitor.  

mysqladmin -uroot -p password pika  更改密码

更改之后的密码为pika可成功登陆:
mysql -uroot -ppika

6.2数据密码破解

mysql  直接登陆不需要密码
MariaDB [(none)]> UPDATE mysql.user set authentication_string=password('westos') WHERE User='root';

  1. 关闭mysql所有进程
ps aux | grep mysql
kill -9 33651
kill -9 33751
ps aux | grep mysql
  1. 重启服务登陆
    systemctl start mariadb.service
    mysql -uroot -pwestos

7.用户授权

新建用户:

MariaDB [(none)]> SELECT USER FROM mysql.user;
#查看用户

MariaDB [(none)]> CREATE USER pika@localhost identified by 'pika';
#创建用户pika,只能通过localhost登陆

#MariaDB [(none)]> CREATE USER pika@% identified by 'pika';
#可以通过网络或者localhost登陆


MariaDB [(none)]> SELECT USER FROM mysql.user;
+------+
| USER |
+------+
| root |
| root |
| pika |
| root |
+------+
4 rows in set (0.000 sec)

授予权限:

MariaDB [(none)]> GRANT  INSERT,SELECT ON westos.* TO pika@localhost;
Query OK, 0 rows affected (0.000 sec)


MariaDB [(none)]> SHOW GRANTS for pika@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for pika@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'pika'@'localhost' IDENTIFIED BY PASSWORD '*2FF1482FBDB003F5D421901BE66F5D72C692F3B8' |
| GRANT SELECT, INSERT ON `westos`.* TO 'pika'@'localhost' 

pika用户可以查询,添加,不可以进行别的操作:

可以:
mysql -upika -p
SHOW DATABASES;
USE westos;
SHOW TABLES;
SELECT * FROM user;
INSERT INTO user VALUES('pika','123','21','python');


拒绝:
MariaDB [westos]> DELETE from user WHERE username='pika';
ERROR 1142 (42000): DELETE command denied to user 'pika'@'localhost' for table 'user'

删除授权:

REVOKE INSERT ON westos.* FROM pika@localhost;

删除用户:

DROP USER pika@locaihost;

8.phpmyadmin的安装

dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewall

  1. 复制 phpMyAdmin到httpd默认发布目录,并解压
cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
cd /var/www/html/
tar jxf phpMyAdmin-3.4.0-all-languages.tar.gz

  1. 复制配置文件
mv phpMyAdmin-3.4.0-all-languages myphpadmin
cd /myphpadmin
cp config.sample.inc.php config.inc.php

  1. 通过浏览器访问
firefox http://172.25.254.128/myphpadmin


www.htsjk.Com true http://www.htsjk.com/mariadb/45778.html NewsArticle Mariadb,常见数据库#xff1a; Mysql Oracle mongodb db2 sqlite sql-server Mysql (SUN - - - Oracle) mariadb MariaDB数据库管理系统是MySQL的一个分支主要由开源社区在维护采用GPL授权许可MariaDB的目的是完全兼容...
评论暂时关闭