mariadb的安装
dnf install mariadb-server.x86_64 -y
mariadb的开启
systemctl enable --now mariadb
端口的关闭
vim /etc/my.cnf.d
写入skip-networking=1
然后重启服务systemctl restart mariadb
此时用netstat -antlupe | grep mysql此命令就查询不到端口了
数据库的安全初始化
mysql_secure_installation
注:只需输入两次密码,其余直接回车
初始化结束后可以用mysql -uroot -p登陆数据库(也可以使用mysql -uroot -pwestos,但是这样会暴露密码)
quit退出
数据库的基本管理
1.查看
SHOW DATABASES; ##显示库名字
USE mysql; ##进入mysql库
SHOW TABLES; ##查看库中的所有表
SELECT * FROM user; ##查看表中的所有数据
SELECT Host,Password,Uesr FROM user; ##查询库中的指定字段
2.新建
CREATE DATABASE westos; ##新建库
USE westos; ##进入westos库
CREATE TABLE linux(
username varchar(10) not null,
password varchar(40) not null
); ##新建westos
注:(10)(40)分别表示不能少于10个、40个字节;not null表示不能为空
DESC linux; ##显示表结构
INSERT INTO linux VALUES (‘user1’,‘123’); ##向表中插入数据
INSERT INTO linux VALUES (‘user2’,‘123’),(‘user3’,‘123’); ##插入多个数据
FLUSH PRIVILEGES; ##刷新数据库
3.更改
ALTER TABLE linux RENAME lee; ##将表linux重命名为lee
ALTER TABLE linux ADD age varchar(5); ##在linux表中添加age这一项
ALTER TABLE linux DROP age; ##在linux表中删掉age这一项
ALTER TABLE linux ADD age varchar(5),class(20); ##在表中添加age,class两项
UPDATE linux SET age=‘18’,class=‘linux’ WHERE username=‘user1’; ##在表中添加内容
4.备份
mysqldump -uroot -pwestos --all-database ##备份全部
mysqldump -uroot -pwestos --all-database --no-data ##只备份表表格
mysqldump -uroot -pwestos westos > /mnt/westos.sql ##备份westos到/mnt/westos.sql中
5.删除
DELETE FROM linux WHERE username=‘user1’; ##删除user1
DROP TABLE linux; ##丢弃表格linux
DROP DATABASE westos; ##丢弃库westos
注:DROP为丢弃,其与delete效果相同
6.数据恢复
方法一:
mysql -uroot -pwestos -e “create database westos;” ##建立westos这个库
mysql -uroot -pwestos westos < /mnt/westos.sql ##将备份数据导入库中
方法二:
vim /mnt/westos.sql
添加CREATE DATABASE westos; ##建立westos库
USE westos; ##进入westos库
然后重启服务 systemctl restart mariadb
最后将数据导入 mysql -uroot -pwestos westos < /mnt/westos.sql
7.数据库密码管理
(1)更改密码
mysqladmin -uroot -pwestos password 123 ##将密码由westos改为123
(2)密码破解
systemctl stop mariadb
mysqld_safe --skip-grant-tables & ##免密登陆数据库
此时登陆数据库不需要密码
进入数据库,执行命令:
UPDATE mysql.user set authentication_string=password(‘westos’) WHERE User=‘root’;
此时密码已被修改为westos
ps aux | grep mysql ##查看与mysql相关的进程
kill -9 *** ##结束所有与mysql相关的进程
systemctl restart mariadb ##重启服务
此时登陆数据库需要密码,且密码为westos
8.用户授权
CREATE USER westos@localhost identified by ‘westos’; ##只能用localhost登陆
CREATE USER westos@’%’ identified by ‘westos’; ##可以通过网络或者localhost登陆
GRANT SELECT ON westos.* TO westos@localhost; ##给westos用户SELECT权限
SHOW GRANTS FOR westos@localhost; ##查看用户权限
REVOKE SELECT ON westos.* FROM westos@localhost; ##删除westos用户SELECT权限
DROP USER westos@localhost ##删除westos用户
9.phpmyadmin的安装
dnf install httpd php -y
dnf install php-mysqlnd.x86_64 -y
systemctl enable --now httpd
wget http://172.25.254.250/software/phpMyAdmin-3.4.0-all-languages.tar.bz2
tar xvf phpMyAdmin-3.4.0-all-languages.tar.bz2
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
cp config.sample.inc.php config.inc.php
此时在网页中访问时就会出现php界面