Linux之mariadb
1.mysql的背景
MySQL是一个关系型数据库管理系统MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。搭配 PHP 和 Apache可组成良好的开发环境。
2.mysql的安装
yum install mariadb-server.x86_64 -y ##安装
systemctl start mariadb ##启动
netstat -antlpue | grep mysql ##过滤,网络接口
/etc/my.cnf ##主配置文件
vim /etc/my.cnf
:
skip-networking=1 ##跳过网络接口
systemctl restart mariadb ##重启
用netstat -antlpue | grep mysql查看 ##网络接口成功跳过
3.mysql的基本使用
(1)密码设置
mysql_secure_installation ##第一次安装mysql以后通过这条命令可以对mysql进行设置
(2)登陆
mysql -uroot -predhat ##从本机登录mysql数据库,密码跟在后面不安全
mysql -uroot -p ##这种登陆方式比较安全
(3)查看
show databases; ##显示数据库
use mysql; ##进入数据库
show tables; ##显示数据库中的表
desc user; ##查看mysql.user表的数据结构
select host,user,password from user; ##查询user表中的host,user,password字段
create database westos; ##创建westos数据库
use westos; ##进入westos数据库
(4)创建表
create table linux( ##创建表,username,password字段
username varchar(15) not null,
password varchar(15) not null
);
desc linux;
select * from mysql.user ##查询mysql库下的user表中的所有
(5)更改
alter table linux rename redhat; ##linux表重命名为表redhat;
alter table redhat add class varchar(6); ##添加age字段到linux表中
ALTER TABLE redhat DROP age ##删除age字段
ALTER TABLE redhat ADD age varchar(6) AFTER name ##在name字段后添name字段
show tables;
(6)插入
在westos数据库的redhat表中插入数据
insert into redhat values ('user1','passwd1'); ##在linux表中插入值为username,password
(7)更新
update redhat set password=password('passwd2') where username=user1; ##更新linux表中user1 的密码为password2
delete from redhat where username='user1'; ##删除linux表中user1的所有内容
(8)授权
CREATE USER [email protected]'localhost'identified by 'passwd'; ##授权user 密码为passwd
grant select on *.* to [email protected]; ##只能在本地 查询数据库的所有内容
show grants for [email protected]; ##查看权限
当切换到[email protected],删除数据库时没有权限
在root用户下授权,成功删除数据库
revoke select on westos.* from [email protected]; ##取消lee下的westos数据库的查看功能
show grants for [email protected]; ##查看权限,[email protected]的删除权限被取消
(9)备份
redhat中的数据库
mysqldump -uroot -predhat westos > /mnt/mysql.sql ##备份westos数据库到mysql.sql
为了证明数据的却成功备份了,现在删除mariadn中的redhat数据库
mysql -uroot -predhat -e "create database redhat" ##-e:执行命令创建redhat库
mysql -uroot -predhat redhat < /mnt/mysql.sql ##恢复mysql.sql 到redhat库
查看redhat数据库,数据是否成功备份(结果显示备份成功,也成功恢复数据)
也可以采用直接在备份中修改,也能成功恢复数据
vim /mnt/mysql.sql ##直接在备份里修改也可以
:
create database westos;
use westos;
mysql -uroot -p123 < /mnt/mysql.sql ##备份文件中已经创建了数据库,并使用,所以不用在指定数据库,直接导入即可
4.root用户的密码恢复
systemctl stop mariadb ##停止maria服务
mysqld_safe --skip-grant-tables & ##跳过grant-tables授权表
mysql ##进入数据库时发现不用输密码,不用认证
update mysql.user set Password=password('123') where User='root'; ##修改密码为'123'
ps aux | grep mysql ##显示mysql进程
kill -9 mysql进程的id ##结束mysql进程
systemctl restart mariadb ##开启服务
当采用mysql进入时,发现不能进入,密码输入正确方可进入数据库
5.数据库的图形phpmyadmin开启
yum install php ##下载php
yum install php-mysql ##下载php的mysql插件
tar jxf phpmyadmin-*.tar.bz2 ##把phpmyadmin-*.tar.bz2解压到/var/www/html
mv phpmyadmin mysqladmin1 ##为了方便重新命名
cp config.sample.inc.php config.inc.php ##切换到mysqladmin1目录下执行
测试:IP/mysqladmin1/index.php ##IP是mariadb所在主机,要把mariadb在主机开启
之前在文本模式下建立的redhat数据库也显示在图形界面中,两者是同步的,linux表中的数据也完美呈现。
图形管理界面搭配PHP和Apache使用,方便管理,查询大量的数据
MySQL是一个关系型数据库管理系统MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。搭配 PHP 和 Apache可组成良好的开发环境。
2.mysql的安装
yum install mariadb-server.x86_64 -y ##安装
systemctl start mariadb ##启动
netstat -antlpue | grep mysql ##过滤,网络接口
/etc/my.cnf ##主配置文件
vim /etc/my.cnf
:
skip-networking=1 ##跳过网络接口
systemctl restart mariadb ##重启
用netstat -antlpue | grep mysql查看 ##网络接口成功跳过
3.mysql的基本使用
(1)密码设置
mysql_secure_installation ##第一次安装mysql以后通过这条命令可以对mysql进行设置
(2)登陆
mysql -uroot -predhat ##从本机登录mysql数据库,密码跟在后面不安全
mysql -uroot -p ##这种登陆方式比较安全
(3)查看
show databases; ##显示数据库
use mysql; ##进入数据库
show tables; ##显示数据库中的表
desc user; ##查看mysql.user表的数据结构
select host,user,password from user; ##查询user表中的host,user,password字段
create database westos; ##创建westos数据库
use westos; ##进入westos数据库
(4)创建表
create table linux( ##创建表,username,password字段
username varchar(15) not null,
password varchar(15) not null
);
desc linux;
select * from mysql.user ##查询mysql库下的user表中的所有
(5)更改
alter table linux rename redhat; ##linux表重命名为表redhat;
alter table redhat add class varchar(6); ##添加age字段到linux表中
ALTER TABLE redhat DROP age ##删除age字段
ALTER TABLE redhat ADD age varchar(6) AFTER name ##在name字段后添name字段
show tables;
(6)插入
在westos数据库的redhat表中插入数据
insert into redhat values ('user1','passwd1'); ##在linux表中插入值为username,password
(7)更新
update redhat set password=password('passwd2') where username=user1; ##更新linux表中user1 的密码为password2
delete from redhat where username='user1'; ##删除linux表中user1的所有内容
(8)授权
CREATE USER [email protected]'localhost'identified by 'passwd'; ##授权user 密码为passwd
grant select on *.* to [email protected]; ##只能在本地 查询数据库的所有内容
show grants for [email protected]; ##查看权限
当切换到[email protected],删除数据库时没有权限
在root用户下授权,成功删除数据库
revoke select on westos.* from [email protected]; ##取消lee下的westos数据库的查看功能
show grants for [email protected]; ##查看权限,[email protected]的删除权限被取消
(9)备份
redhat中的数据库
mysqldump -uroot -predhat westos > /mnt/mysql.sql ##备份westos数据库到mysql.sql
为了证明数据的却成功备份了,现在删除mariadn中的redhat数据库
mysql -uroot -predhat -e "create database redhat" ##-e:执行命令创建redhat库
mysql -uroot -predhat redhat < /mnt/mysql.sql ##恢复mysql.sql 到redhat库
查看redhat数据库,数据是否成功备份(结果显示备份成功,也成功恢复数据)
也可以采用直接在备份中修改,也能成功恢复数据
vim /mnt/mysql.sql ##直接在备份里修改也可以
:
create database westos;
use westos;
mysql -uroot -p123 < /mnt/mysql.sql ##备份文件中已经创建了数据库,并使用,所以不用在指定数据库,直接导入即可
4.root用户的密码恢复
systemctl stop mariadb ##停止maria服务
mysqld_safe --skip-grant-tables & ##跳过grant-tables授权表
mysql ##进入数据库时发现不用输密码,不用认证
update mysql.user set Password=password('123') where User='root'; ##修改密码为'123'
ps aux | grep mysql ##显示mysql进程
kill -9 mysql进程的id ##结束mysql进程
systemctl restart mariadb ##开启服务
当采用mysql进入时,发现不能进入,密码输入正确方可进入数据库
5.数据库的图形phpmyadmin开启
yum install php ##下载php
yum install php-mysql ##下载php的mysql插件
tar jxf phpmyadmin-*.tar.bz2 ##把phpmyadmin-*.tar.bz2解压到/var/www/html
mv phpmyadmin mysqladmin1 ##为了方便重新命名
cp config.sample.inc.php config.inc.php ##切换到mysqladmin1目录下执行
测试:IP/mysqladmin1/index.php ##IP是mariadb所在主机,要把mariadb在主机开启
之前在文本模式下建立的redhat数据库也显示在图形界面中,两者是同步的,linux表中的数据也完美呈现。
图形管理界面搭配PHP和Apache使用,方便管理,查询大量的数据