135.五.mysql数据库的基本管理
目录
一.数据库的介绍
(一).什么是数据库
数据库就是个高级的表格软件
(二).常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver .......
(三).Mysql (SUN -----> Oracle)
由SUN转接給Oracle,被Oracle收购,mysql免费的
(四).mariadb(mysql的分支)
二.mariadb的安装
dnf install mariadb-server.x86_64 -y
三.软件基本信息
mariadb.service 启动服务
3306 默认端口号
/etc/my.cnf .d/mysql-clients.cnf 主配置文件
/var/lib/mysql 数据目录,当需要重新安装mariadb时需要清理此目录或备份
四.数据库开启
systemctl enable --now mariadb
五.数据库的安全初始化
(一).关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
skip-networking=1
(二).执行安全初始化脚本
mysql_secure_installation
[[email protected] ~]# mysql 默认不需要密码,初始化完毕后需要
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[[email protected] ~]# mysql -uroot -p -u 指定登陆用户 -p 密码
六.数据库的基本管理
(一).查看
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 ('lee','123'); 插入数据
FLUSH PRIVILEGES; 刷新数据库
(三).更改
ALTER TABLE linux RENAME rhel;
ALTER TABLE rhel ADD age varchar(3) AFTER user;
UPDATE linux SET passwd='666' WHERE user='lee1';
(四).删除
DELETE from rhel where username='lee2';
ALTER TABLE rhel DROP age;
DROP TABLE rhel;
DROP DATABASE westos;
七.数据密码管理
(一).数据密码更改
mysqladmin -uroot -pwestos password lee
(二).数据库密码**
systemctl stop mariadb
mysqld_safe --skip-grant-tables & (和电脑忘记密码相似,不让其进入登陆模式)
UPDATE mysql.user set Password=password('lee') WHERE User='root'; RHEL7
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; RHEL8
flush privileges;
kill -9 mysql的所有进程
systemctl start mariadb
八.用户授权
CREATE USER [email protected] identified by 'lee'; 只能用localhost登陆
CREATE USER [email protected]% identified by '%'; 可以通过网络或localhost登陆
GRANT SELECT ON westos.* TO [email protected];
SHOW GRANTS for [email protected];
REVOKE SELECT ON westos.* FROM [email protected];
DROP user [email protected];
九.数据库的备份
mysqldump -uroot -p123 --all-database 备份所有数据库
mysqldump -uroot -p123 --all-database --no-data 备份所有数据库,不包含数据
(一)备份
mysqldump -uroot -p123 westos
mysqldump -uroot -p123 westos > /mnt/westos.sql
(二)恢复
mysql -uroot -p123 -e "create database westos;"
mysql -uroot -p123 westos < /mnt/westos.sql
也可以
十.phpmyadmin的安装
dnf install httpd php php-mysqlnd -y
systemctl enable --now httpd
systemctl stop firewalld
下载phpmyadmin包,放到网络传输
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
cd mysqladmin
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
firefox http://172.25.254.102/mysqladmin