MYSQL是一个关系型数据库。
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。下面列出了关系模型中的常用概念。关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名。元组:可以理解为二维表中的一行,在数据库中经常被称为记录。属性:可以理解为二维表中的一列,在数据库中经常被称为字段。域:属性的取值范围,也就是数据库中某一列的取值限制。关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由一个或多个列组成。关系模式:指对关系的描述,其格式为:关系名(属性1,属性2,…,属性N)。在数据库中通常称为表结构。
####数据库###
数据库就是一个高级的excel表格
一个表格就是一个数据库,多个表格组成了数据库系统
数据库软件有:
mariadb ##mysql的一个分支
oracle公司出品的软件----java oracle mysql
pgsql
db2
sqlserver(microsoft)
1.安装数据库软件
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
2.数据库登陆加密
netstat -antlupe | grep mysql ##检测端口信息,发现端口是开启的
vim /etc/my.cnf
skip-networking=1 ##只允许通过套接字文件进行本地连接,阻断所有来自于网络的tcp/ip连接
systemctl restart mariadb
netstat -antlupe | grep mysql ##检验监听端口,端口关闭
mysql_secure_installation ##加密,第一次加密的原密码为空
mysql ##加密后再这样登陆,就会现实登陆失败
3.软件的使用
mysql ##打开数据库软件
SHOW DATABASES; ##显示数据
USE mysql; ##==cd
SHOW TABLES; ##=ls
SELECT * FROM user ##查看user里面的全部的内容,包括信息和字段
DESC user ##查看user里的字段
SELECT Host,User,Select_priv
FROM user ##查看部分的字段信息
4.数据库的查询
SHOW DATABASES; ##显示库
USE 库名称; ##进入库
SHOW TABLES; ##显示库中的数据表
DESC 表名称; ##的所有字段
SELECT * FROM 表名称; ##查看表内所有字段的字段值
SELECT 字段1,字段2,.... FROM use; ##查看表内指定字段的字段值
注意:数据库语言每次输命令最后面要加“;” 否则会换行而不是执行
5.数据库的建立
mysql进入到数据库,SHOW DATABASES看到的界面是数据库的总和,数据库的没有上层库,数据库就是最上层的库,而看到的数据库的总和,只不过是列出了数据库全部的名字,下面的每一个名称都是一个数据库的名称,USE 数据库名称 就可以进入到数据库当中,SHOW TABLES显示数据库中的表格,表格里面有很多的字段。
CREATE DATABASE westos ##westos没有上层库
CREATE TABLE linux(
-> username varchar(10) not
null,
-> password varchar(30) not
null
-> ); ##建立的包含的字段内容,建立表的前提是进入到自己新建的数据库中,才可以建立,如果在外面建立的话,会报错
DESC linux
INSERT INTO linux values('lee','123'); ##插入表的字段值
SELECT * FROM linux
6.数据库更改
UPDATE heroes SET passwd=password('hasagei') WHERE username='yasuo'; ##password()相当于加密,查看的时候将不显示密码
ALTER TABLE heroes ADD skill varchar(30) not null;
ALTER TABLE heroes DROP skill;
ALTER TABLE heroes ADD skill varchar(30) AFTER username;
ALTER TABLE heroes RENAME league;
"varchar --- 可变长字符"
7.数据库删除
DELETE FROM heroes WHERE username='yasuo';
DROP TABLE heroes;
DROP DATABASE legend;
8.用户授权(都在库里面执行)
CREATE USER lsy@localhost identified by ’redhat‘; ##@后跟%代表可以以任意方式任意数据库主机,localhost代表只能登陆数据库所在的主机
GRANT SELECT ,INSERT ON legend.* TO lsy@localhost; ##添加lsy用户对legend库的读和写权限
FLUSH PRIVILEGES; ##刷新修改设置
SHOW GRANTS FOR lsy@localhost; ##查看用户权限
REVOKE INSERT,SELECT ON legend.* TO lsy@localhost; ##删除读写权限
DROP USER lsy@localhost; ##删除用户
9.数据库的备份
mysqldump -uroot -plee --all-database ##备份所有数据库,显示在shell内
mysqldump -uroot -plee --all-database --no-data ##备份所有数据库但不含数据只备份框架
mysqldump -uroot -plee legend > /mnt/legend.sql
mysql -uroot -plee -e "DROP DATABASE legend;"
mysql -uroot -plee -e "SHOW DATABASES;"
恢复方式1
mysql -uroot -plee -e "CREATE DATABASE legend;"
mysql -uroot -plee legend < /mnt/legend.sql
恢复方式2
vim /mnt/legend.sql
20 CREATE DATABASE legend;
21 USE legend;
mysql -uroot -plee </mnt/legend.sql
10.超级用户修改密码
##1.记得密码时
mysqladmin -uroot -predhat password westos
##2.忘记密码时
mysqld_safe --skip-grant-tables & ##跳过读取权限时别表
mysql
UPDATE mysql.user SET Password=password('westos') WHERE User='Root';
quit
ps aux | grep mysql
kill -9 mysql的所有进程id
systemctl restart mariadb
11.网络数据库
##1.安装相关软件
yum install httpd php php-mysql -y ##安装软件
systemctl start httpd ##启动阿帕奇
firewall-cmd --permanent --add-service=http ##更改防火墙设置允许阿帕奇开启服务端口
lftp 172.25.254.250 ##在老李电脑上下在phpmyadmin软件
cd pub/docs/software/
get phpMyAdmin-4.0.10.20-all-languages.tar.gz ##太高的版本要求php版本也高,读REAME文件看需要的php版本和本机版本
tar zxf phpMyAdmin-4.0.10.20-all-languages.tar.gz ##解压
mv phpMyAdmin-4.0.10.20-all-languages/ /var/www/html/ ##移动到html目录
cd /var/www/html
mv phpMyAdmin-4.0.10.20-all-languages mysqladmin ##改个好记点的名字方便自己输入
lftp 172.25.254.250 ##由于高版本缺失个插件,在老李电脑上下载插件
cd pub/docs/software/
get php-mbstring-5.4.16-21.el7.x86_64.rpm
rpm -ivh php-mbstring-5.4.16-21.el7.x86_64.rpm ##安装
systemctl restart httpd ##重启阿帕奇
在另一个主机上输入IP/mysqladmin,就可以进入登陆界面了