##########mariadb数据库#################
GPL:
General Public License 通用公共许可证
GNU = GNU is NOT Unix
minix ====> linux
mariadb 是 MySQL 替代品:避免MySQL闭源
MariaDB 数据库管理系统是MySQL 的一个分支,主要由开源社区在维护,采用GPL 授权认可 MariaDB 的目的是完全兼容MYSQL , 包括 API 和命令行,是MySQL 的替代品
MariaDB 由MyAQL 的创始人 Michael Widenius 主导开发,他曾经以10E 美元的价格把自己创建的公司 MySQL AB 卖给了 SUN ,此后随着SUN 被Oracle 收购,MySQL数据库就被Oracle垄断
yum install mariadb-server -y
systemctl start mariadb
systemctl status mariadb
数据库的登陆: mysql(登陆之后的命令一般规范用大写,每条命令都以;结尾)
数据库的查看: SHOW DATABASES;
表查看:USE mysql; SHOW TABLES ;
表内容查看: SELECT * FROM USER;
quit退出
mysqld端口:3306
vim /etc/my.cnf 数据库的配置文件
[mysqld]
skip-networking=1 关闭对外的3306端口
mysql_secure_installation 安全初始化 会更改root密码
先俩次enter变是确认安全初始化,后输入俩次相同密码,更改root密码
##########数据库基本管理#########
安全初始化后登陆需输入密码
mysql -uroot -p 输入暗文密码登陆
mysql -uroot -predhat 输入明文密码登陆>>>> -p后面 的就是密码
SHOW DATABASES; 查看数据库
USE mysql; 查看数据表
查询
查看表结构: DESC user;
针对字段搜索: SELECT Host,User,Select_priv FROM user;
增加搜索条件: SELECT Host,User,Select_priv FROM user WHERE Host='localhost';
################建立#################################
CREATE DATABASE westos; 新建一个westos 库
SHOW DATABASES
USE westos
SHOW TABLES; 查看库下内容
CREATE TABLE linux( 添加一个表,名为linux
-> username varchar(10) not null, 设定用户名称不超过10位
-> password varchar(30) not null 设定用户密码不超过30位
-> );
不将命令放到统一行是为了方便排错
DESC linux;
INSERT INTO linux values ('wap','123'); 在linux表内添加内容
SELECT * FROM linux;
SELECT username,password FROM linux; 查看添加情况
###########更改#######
ALTER TABLE linux ADD class varchar(10); 表格内添加新的内容
DESC linux;
ALTER TABLE linux ADD age varchar(4) AFTER password; 添加字段在password后
DESC linux;
ALTER TABLE linux DROP age;
ALTER TABLE linux RENAME user; 重命名表
SELECT * FROM user;
UPDATE user SET class='linux' WHERE username='wap' AND password='123';
把名字是wap 密码是123的 更新值为linux
SELECT * FROM user;
INSERT INTO user VALUES ('wsp1','456','python'); 添加新的一行,名字为wsp1,密码为456,class为python
SELECT * FROM user;
#######删除############
DELETE FROM user WHERE username='wap'; 删除一个用户名是wap的
SELECT * FROM user;
SHOW TABLES;
DROP TABLE user; 删除user表
SHOW TABLES;
DROP DATABASE westos; 删除westos库
SHOW DATABASES;
#######用户授权#############
create user westos@localhost identified by 'westos';
创建本地用户westos,并设置其密码为westos
SELECT * FROM mysql.user; (列出的用户表可能会因为部分显示问题,显得不规范)
GRANT SELECT ON userdata.* TO westos@localhost; 授权
FLUSH PRIVILEGES; 重新加载用户表
SELECT * FROM mysql.user;
方法2
GRANT SELECT ON userdata.* TO westos@localhost IDENTIFIED BY 'wsp';
用一条命令进行创建用户加授权
REVOKE SELECT ON userdata.* FROM westos@localhost 撤销权限
#############备份与恢复#############
mysqldump -uroot -predhat westos > /mnt/userdata.sql
将westos数据库备份到 /mnt/westos.sql
mysql -uroot -predhat -e "DROP DATABASE westos" 删除原版的westos库
mysql -uroot -predhat -e "SHOW DATABASES;"
恢复方法1:
【root@localhost ~】# mysql -uroot -predhat < /mnt/userdata.sql
ERROR 1046 (3D000) at line 22: No database selected
vim /mnt/userdata.sql
21 CREATE DATABASE userdata;
22 USE userdata;
mysql -uroot -predhat
SHOW DATABASES;
SELECT * FROM userdata.usertab;
恢复方法2:
mysql -uroot -predhat -e "DROP DATABASE userdata;"
mysql -uroot -predhat -e "CREATE DATABASE userdata;"
vim /mnt/userdata.sql
删除21 22行
mysql -uroot -predhat userdata < /mnt/userdata.sql 指定导入到userdata库
############密码更改和破解##########
mysqladmin -uroot -predhat password westos 更改root的原密码redhat为westos
超户密码忘记
systrmctl stop mariadb
mysqld_safe --skip-grant-tables &
mysql
UPDATE mysql.user SET Password='redhat' WHERE User='root'; 密码是明文
UPDATE mysql.user SET Password=password('redhat') WHERE User='root'; 密码是暗文
把root现在的密码更改为redhat(之前我们改成了westos,现在改回redhat)
ps aux | grep mysql 过滤所有mysql的进程
killall -9 mysql 关闭全部mysql 进程(killall不能干掉的进程用 kill -9 加进程id)
systemctl start mariadb
mysql -uroot -predhat
##########phpMyAdmin###########
在浏览器中以图形化方式访问 数据库
yum install httpd -y 安装htppd服务
firewall-cmd --permanent --add-service=http 把http服务添加到火墙
firewall-cmd --reload 重启火墙
tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz -C /var/www/html/
将压缩包解压到http服务的默认目录内
mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin 更改解压后的文件名字
yum insatll php -y 安装php
systemctl restart httpd
yum install php-mysql php-mbstring-5.4.16-21.el7.x86_64.rpm
systemctl restart httpd
浏览器访问
http://172.25.254.103/phpMyAdmin
root --> redhat