一、mysql数据库简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
数据库是一个高级的excel表格软件。
二、搭建数据库环境
1.安装数据库软件yum install mariadb-server -y
2.systemctl start mariadb 开启数据库软件
打开软件之后可以进入数据库列出库
编辑mysql -uroot
3.安全初始化的配置
mysql_secure_installation 进行系统初始化
- 初始化的myaql数据库管理员并没有任何密码,按回车进行下一步
- 设置root用户的密码
- 为了安全剩下的都选y
4.查看数据库在网络中对外的接口
编辑netstat -antlupe | grep mysql
编辑配置文件关闭接口vim /etc/my.cnf
写入skip-networking=1
重新启动服务 systemctl restart mariadb
netstat -antlupe | grep mysql查看网络接口(接口关闭)
5.用户登陆
三、数据库的管理
mysql -uroot -p 该命令进入
1.SHOW DATABASES; 列出数据库
2.CREATE DATABASE westos; 自己建立库(westos)
3.USE westos; 进入westos库
4.SHOW TABLES; 查看表
5.建立linux表
CREATE TABLE linux (
-> username varchar(10) not null,
-> password varchar(50) not null
-> );
6.DESC linux; 查看表结构
7.插入数据到linux表中,并查询在linux表中的所有字段
INSERT INTO linux VALUES ('lee','123');插入数据到linux表中
SELECT * FROM linux; 查询所有字段在linux表中
INSERT INTO linux VALUES ('westos','123');
SELECT * FROM linux;
8.查询linux表中username字段
9.列出表SHOW TABLES;
10.修改表的名字ALTER TABLE linux RENAME userdate;
ALTER TABLE userdate RENAME linux; 将表的名字改为linux
11.SELECT * FROM linux;查看linux表
12.将age属性添加到linux表的最后ALTER TABLE linux ADD age varchar(4);
13.删除表中的age属性ALTER TABLE linux DROP age;
14.将age属性添加到指定位置(username后面)
ALTER TABLE linux ADD age varchar(4) AFTER username;
15.修改表中age属性的值(全部修改)
UPDATE linux SET age='20';
16.修改表中满足条件的属性值
UPDATE linux SET age='18'WHERE username='westos' ;
17.删除数据列表及库
删除表中满足条件的某一行
DELETE FROM linux WHERE username='westos';
删除表DROP TABLE linux;
删除库
四、用户授权
1.创建一个库,用于后续测试CREATE DATABASE westos;
2.创建数据库用户lee ,登陆密码lee,并查看数据库中的所有用户
SELECT User,Host FROM mysql.user;
CREATE USER lee@localhost identified by 'lee';
3.用创建的数据库用户登录(此时没有库信息)
4.显示某个用户对数据库所有的权限(这里指lee用户)
SHOW GRANTS FOR lee@localhost;
5.对某个用户授予固定的权限GRANT SELECT on westos.* TO lee@localhost;
测试:可以看到westos库
进入库后不能创建表
6.对lee用户添加创建表的权限GRANT CREATE on westos.* TO lee@localhost;
测试:创建表
7. 对lee用户添加删除表信息的权限GRANT DELETE on westos.* TO lee@localhost;
8.对lee用户添加删除表的权限GRANT DROP on westos.* TO lee@localhost;
清除授权
撤销用户的固定权限
REVOKE DELETE on westos.* FROM lee@localhost;
lee用户没有删除表信息的权限
清除用户
DROP USER lee@localhost;
五、数据库的备份与恢复
1.备份所有数据库(包括框架和内容)
[root@shareserver ~]# mysqldump -uroot -pwestos --all-databases > /westos/alldate.sql
2.备份框架
[root@shareserver ~]# mysqldump -uroot -pwestos --all-databases --no-data > /westos/allshuju.sql
3.备份指定数据库到指定位置
[root@shareserver ~]# mysqldump -uroot -pwestos westos > /westos/westos.sql
恢复:
删除数据库
[root@shareserver ~]# mysql -uroot -pwestos -e "DROP DATABASE westos;"
[root@shareserver ~]# mysql -uroot -pwestos -e "SHOW DATABASES;" 查看 westos库不存在
因为数据库中已经没有westos这个数据库了,所以恢复的时候会报错
mysql -uroot -pwestos westos < /westos/westos.sql
方法一:先创建一个库再恢复
方法二:
编辑vim /westos/westos.sql
写入CREATE DATABASE westos;
USE westos;
[root@shareserver ~]# mysql -uroot -pwestos < /westos/westos.sql
[root@shareserver ~]# mysql -uroot -pwestos -e "SHOW DATABASES;"
六、数据库密码管理
更改数据库密码(密码知道)
[root@shareserver ~]# mysqladmin -uroot -pwestos password lee
当密码忘记时:
1.systemctl stop mariadb 关闭数据库
2.mysqld_safe --skip-grant-tables & 跳过授权表直接登陆数据库并打入后台
3.编辑mysql 不用密码就可以登陆数据库
4.SELECT User,Password FROM mysql.user;查看用户及密码信息
5.修改数据库超级用户密码,密码是以密文显示
6.查看mysql的所有进程,并结束掉
执行ps aux | grep mysql 查看
7.打开数据库
8.密码修改成功(用因密码登陆)
七、安装phpmyadmin 数据库图形管理
在虚拟机server中进行(我的数据库主机)
1.[root@shareserver ~]# yum install httpd -y安装http
[root@shareserver ~]# cd /var/www/html
[root@shareserver html]# systemctl start httpd 开启服务
在网页上测试:
2.下载适合自己主机版本的phpMyAdmin
这里已经从老师主机下载好了,传输到测试端的/var/www/html目录下
[root@shareserver html]# tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 解压
[root@shareserver html]# mv phpMyAdmin-2.11.3-all-languages/ mysqladmin 给解压的文件重命名
3.[root@shareserver html]# yum install php php-mysql -y 安装php 和 php-mysql 软件
4.进入mysqladmin目录下,根据模板,创建config.inc.php
[root@shareserver html]# cd mysqladmin/
[root@shareserver mysqladmin]# cp config.sample.inc.php config.inc.php
[root@shareserver mysqladmin]# less Documentation.txt 查看
[root@shareserver mysqladmin]# vim config.inc.php 编辑该文件
[root@shareserver mysqladmin]# systemctl restart httpd重新启动httpd 服务
测试:
在真机网页编辑
http://172.25.254.103/mysqladmin
进入数据库图形管理界面
有时候界面出不来是因为缓存的原因
清除缓存的方法:ctrl+shift+delete
以root用户身份输入密码登录数据库
创建数据库
在数据库中新建表
在表中添加属性
插入相应的属性值
验证: