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.数据库的介绍
数据库就是个高级的表格软件。
- 常见数据库:
Mysql Oracle mongodb db2 sqlite sql-server
-
Mysql (SUN - - - > Oracle)
-
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';
- 关闭mysql所有进程
ps aux | grep mysql kill -9 33651 kill -9 33751 ps aux | grep mysql
- 重启服务登陆
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
- 复制 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
- 复制配置文件
mv phpMyAdmin-3.4.0-all-languages myphpadmin cd /myphpadmin cp config.sample.inc.php config.inc.php
- 通过浏览器访问
firefox http://172.25.254.128/myphpadmin
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。