数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这 个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的 Arusha的一个小镇的名字。
一、mysql配置
1.yum install mariadb-server -y 安装数据库服务
2.systemctl start mariadb 开启服务后可以mysql -uroot查看
但是数据这种东西是非常重要的,如果很轻易的就能访问数据库,那也很不安全。
3.mysql_secure_installation mysql安全设定,设定root密码
4.mysql -uroot -p 密码登陆。注意:登陆之后,每条命令都必须以分号结尾
5.netstat -antlupe | grep mysql 查看mysql网络端口,显然,有外网的访问接口,那对数据库来说也是不安全的,所以要关掉网络端口
vim /etc/my.cnf 进入配置文件,第10行输入skip-networking=1,关闭网络端口
6.systemctl restart mariadb
7.netstat -antlupe | grep mysql 查看mysql网络端口
二、数据库的管理
数据库是由一个个小的数据库组成起来的,小的数据库是由一个个表组成的,表里存的就是数据
建立:
1.mysql -uroot -p 登陆数据库
2.SHOW DATABASES; 列出库
SHOW TABLES; 查看表
CREATE DATABASE westos; 建立库,库的名字为westos可以任意
USE westos; 进入库
CREATE TABLE linux ( 建立表,名字为linux,可以任意
-> username varchar(10) not null, 用户名,字符长度不能超过10,不能为空
-> password varchar(10) not null 密码,字符长度不能超过10,不能为空
-> ); 分行写是因为方便排错。
DESC linux; 查看表结构
INSERT INTO linux VALUES ('liming','hellow'); 插入数据到linux表,用户名为liming,密码为hellow
SELECT *FROM linux; 查看所有字端,在linux表中
SELECT username,password FROM linux; 查看linux表中的username和password字段,指定字段
更改:
UPDATE linux SET password=password('hahaha') where username='liming'; 改用户为liming的密码为hahaha
ALTER TABLE linux ADD ages varchar(3); 增加ages字段
ALTER TABLE linux DROP ages; 删除ages字段
ALTER TABLE linux ADD ages varchar(3) AFTER username; 在username后增加ages字段
ALTER TABLE linux RENAME liming; 更改表linux的名字为liming
删除:
DELETE FROM liming where username='liming'; 删掉表liming中的有关liming用户的所有信息。
DROP TABLE liming; 删除表liming
DROP DATABASE westos; 删除库westos
注意:不要忘记命令后加分号。
三、用户授权:
CREATE USER lee@'localhost' identified by 'westos';创建一个用户lee,只能本地登陆,密码为westos
在另一个终端:mysql -ulee -p
虽然lee用户可以登陆,但是lee用户却没有select和insert的权限。
GRANT SELECT,INSERT on westos.* TO lee@localhost; 在westos库中给用户lee SELECT和INSERT的权限
SHOW GRANTS FOR lee@localhost; 查看用户lee的权限
REVOKE INSERT ON westos.* FROM lee@localhost; 删除lee的INSERT权限
DROP USER lee@localhost; 删除lee用户
FLUSH PRIVILEGES 刷新
四、数据库的备份
mysqldump -uroot -predhat westos > /mnt/westos.sql 备份westos库到/mnt/westos.sql
mysqldump -uroot -predhat westos --no-data > /mnt/westosnodata.sql 备份westos库的结构到/mnt/westosnodata.sql 不加数据
mysqldump -uroot -predhat --all-database > /mnt/alldatabase.sql 备份所有库到/mnt/alldatabase.sql
测试:
mysql -uroot -predhat -e "DROP DATABASE westos;"删除westos库
恢复方式1:
mysql -uroot -predhat -e "CREATE DATABASE westos;" 创建库westos
mysql -uroot -predhat westos < /mnt/westos.sql 将备份文件导入
mysql -uroot -predhat -e "SHOW DATABASES;" 查看是否恢复
恢复方式2
vim /mnt/westos.sql 编辑备份文件
CREATE DATABASE westos; 创建westos库
USE westos; 进入westos库
mysql -root -predhat < /mnt/westos.sql 将备份文件导入,因为备份文件写了创建库和进入库,所以这里不需要写导入哪个库
五、数据库更改密码:
1.知道密码:
mysqladmin -uroot -predhat password hellow 将数据库的密码redhat改为hellow
2.忘记密码:
systemctl stop mariadb 关闭数据库服务
mysqld_safe --skip-grant-tables & 此时可以直接mysql进入数据库,不需要任何密码
mysql 进入数据库
UPDATE mysql.user SET Password=password('hellow') WHERE User='root' 更改root用户的数据库密码为hellow
kill -9 mysql的所有进程id,mysql的进程id可以通过ps aux | grep mysql查看
systemctl start mariadb 重启数据库服务
六、安装PHP 数据库图形管理
1.下载phpMyAdmin-3.4.0-all-languages
2.yum install httpd -y 安装http服务
3.tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 解压php,解压完成后会有一个目录
4.rm -rf *.bz2 删除压缩包
5.mv phpMyAdmin-2.11.3-all-languages/ mysqladmin 更改目录名为mysqladmin
6.yum install php php-mysql -y 安装php服务和php-mysql插件
7.systemctl restart httpd 重启http服务
8.cp config.sample.inc.php config.inc.php 按照Documentation.txt文件和README文件的提示复制模板,复制到该目录下
9.vim config.inc.php 更改模板文件的内容为
$cfg['blowfish_secret'] = 'ba17c1ec07d65003'; 等号后面的内容可以通过Documentation.txt文件查看
测试:在浏览器输入http://172.25.254.116/mysqladmin 进入数据库图形管理
进入界面后就可以对数据库在图形化界面下操作了。