一、了解数据库的基本内容
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)
1、安装软件( 部署环境 )
yum search mariadb ##查找与mariadb相关的软件
yum install mariadb-server -y ##安装mariadb的服务软件
systemctl start mariadb ##开启服务
2、安全设定
##默认情况下,数据库的网络接口是打开的,为了安全需要关闭此接口
vim /etc/my.cnf ##在配置文件加一行命令,禁止数据库被远程连接
skip-networking=1
systemctl restart mariadb ##重启服务
##数据库起始状态设定信息是不安全的,可以直接登陆,需要做以下设定给它一个密码:
mysql_secure_installation ##mysql的安全服务安装,会让你输入以下信息(见下图,都是为了安全考虑)
mysql -uroot -pwestos ##直接进入,但是密码是明文的不安全
mysql -uroot -p ##用户root输入密码后进入,密码是看不到的
Enter password:
二、数据库的管理
1.数据查询(字段=表格中的列)
SHOW DATABASES; ##列出所有库(必须加;)
USE DATABASE; ##使用某个数据库
SHOW TABLES; ##列出所在库里的所有表
SELECT * FROM TABLE; ##查询指定表内的所有内容
SELECT Host FROM user WHERE User='root'; ##查询指定字段的指定行内容
2.库和表的建立
SHOW DATABASES; ##列出库
CREATE DATABASE westos; ##建立库
USE westos; ##进入库
CREATE TABLE linux ( ##建立表
-> username varchar(50) not null, ##给定表头内容(注意数据类型的选择)
-> password varchar(50) not null
-> );
DESC linux; ##查看表结构
INSERT INTO linux VALUES ('lee','123'); ##插入数据到linux表中
SELECT * FROM linux; ##查询linux表中的所有内容
SELECT username,password from linux; ##查询指定字段在linux表中
insert into redhat (username,password) values ('yyy','123');
##给表中添加数据
3.数据表内容的更改
UPDATE yy SET passwd='123'; ##把yy表里的passwd字段全部改为123
UPDATE linux SET password='lee' where username='lee'; ##更改指定行的passwd内容
ALTER TABLE linux ADD class varchar(20); ##给表添加一个字段class
ALTER TABLE linux DROP CLASS; ##删除linux表里的class字段
ALTER TABLE linux ADD age varchar(20) AFTER password; ##在password字段后添加一个字段age
ALTER TABLE linux RENAME redhat; ##更改表的名字
4.数据表的删除
DELETE FROM redhat where username='lee'; ##删除表中指定的行
DELETE FROM redhat where username='lee' or username='lee1'; ##删除表中指定的两行
DROP TABLE redhat; ##删除表
DROP DATABASE westos; ##删除库
5.数据库的授权
CREATE USER lee@'localhost' identified by 'westos'; ##建立一个本地登陆的用户(新建的用户没有任何权力,只能进入数据库,但是无法查询数据)
CREATE USER lee@'%' identified by 'westos'; ##建立一个可以远程登陆的用户(新建的用户没有任何权力)
mysql -uyy -h 172.25.254.121 -p ##远程登陆数据库命令
GRANT SELECT,INSERT on westos.* TO lee@localhost; ##赋予用户对于某个数据库的查询和插入权限
SHOW GRANTS FOR lee@localhost; ##查看赋予用户的权限
REVOKE INSERT ON westos.* FROM lee@localhost; ##回收用户对某个数据库的指定权限
DROP USER westos@localhost; ##删掉一个用户
FLUSH PRIVILEGES; ##如果更改未生效,可以用此命令刷新数据库
三、数据库的备份
mysqldump -uroot -pwestos westos > /mnt/wesots.sql ##将westos的备份定向输出到/mnt/westos.sql中
mysqldump -uroot -pwestos westos --no-data ##只备份格式,不备份数据
mysqldump -uroot -pwestos --all-database ##备份所有库
mysqldump -uroot -pwestos --all-database --no-data ##只备份所有库的格式,不备份数据
##恢复方式一
mysql -uroot -pwestos -e "CREATE DATABASE westos;" ##创建这个数据库,不需进入数据库环境
mysql -uroot -pwestos westos < /mnt/westos.sql ##将备份的内容导入新建的数据库中
##恢复方式二
vim /mnt/westos.sql ##在文件中加入创建数据库的命令
CREATE DATABASE westos;
USE westos;
mysql -uroot -pwestos < /mnt/westos.sql ##将备份的数据库内容导入
##数据库的密码管理
#已知原密码:
mysqladmin -uroot -pwestos password lee ##把root密码改为lee,只有root用户才能在环境外改,其他用户没有这个权限
#当超级用户密码忘记时:
systemctl stop mariadb ##先关掉mariadb服务
mysqld_safe --skip-grant-tables & ##跳过安全授权表的检测
mysql ##不用输入用户和密码直接进入
UPDATE mysql.user set Password=password('westos') WHERE User='root';
##更改用户密码,指定加密方式,否则为明文密码(普通用户在此环境下直接更改即可)
ps aux | grep mysql ##查看与mysql有关的进程
kill -9 mysql的所有进程id
systemctl start mariadb ##重启服务
四、安装phpmyadmin ( 数据库的图形管理 )
1.下载phpMyAdmin-3.4.0-all-languages ##下载图形管理软件
2.环境部署
yum install php php-mysql httpd -y ##安装服务需要的软件
systemctl restart httpd ##重启服务
3.软件设置
tar jxf phpMyAdmin-3.4.0-all-languages ------- > /var/www/html
##将文件解压到指定目录
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'; ##原本为空,填上给定的值
##测试:
http://172.25.254.100/mysqladmin