Mariadb
许多表格放在一起,组成一个库,若干个库放在一起组成一个数据库
mysql是目前 应用最为广泛,mariadb是其中一个分支.它们存在着这样的关系
mysql > 数据库 > 数据表 > 数据
以图书馆为例,mysql相当于图书馆,数据库相当于各类书库,如计算机类、文学类等;数据表相当于每个书库的书架;数据就是书架上的书籍。
安装和安全初始化设置
[root@localhost ~]# yum install mariadb-server -y
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql -uroot //默认可以直接登陆,不安全
[root@localhost ~]# netstat -antlpe | grep mysql //可以看到默认端口,表示数据库安装后默认裸露在互联网上
[root@localhost ~]# vim /etc/my.cnf //编辑配置文件
skip-networking=1 //添加这一行,表示跳过数据库在网络上开启端口的功能
[root@localhost ~]# systemctl restart mariadb
//重启服务
[root@localhost ~]# netstat -antlpe | grep mysel //无开启端口(此时就无法显示端口了)
[root@localhost ~# mysql_secure_installation #安全初始化脚本,进行如下设置:
添加密码
关闭匿名用户登陆
关闭超级用户远程登陆
删除测试数据库和访问
重新加载权限列表
[root@localhost ~]# mysql -uroot -p #登陆数据库,输入密码才能进入
数据库的查询
首先,进入数据库:
MariaDB [(none)]> SHOW DATABASES; #查询数据库里有什么库
MariaDB [(none)]> USE mysql; #使用mysql库
MariaDB [mysql]> SHOW tables; #查询库里有什么表格
MariaDB [mysql]> SELECT * FROM user; #查询user表的所有内容(user、表是在mysql数据库中的)
MariaDB [mysql]> SELECT User,Host,Password FROM user; #查询user表里的User字段、Host字段和Password字段
数据库的创建、插入(命令后面的;不能丢,大写字母命令比较正规)
MariaDB [(none)]> CREATE DATABASE linux; //创建linux库
MariaDB [(none)]> SHOW DATABASES; //查看linux库是否建立完成
MariaDB [(none)]> USE linux; //使用linux库
MariaDB [linux]> SHOW tables; //查看linux库里有什么表格,刚开始建立的表是空的
MariaDB [linux]> CREATE TABLE YZ(
-> username varchar(10) not null,
-> password varchar(20) not null); //在linux库里创建YZ表格,varchar表示可变长字符,null表示不能为空。
MariaDB [linux]> DESC YZ; #查询YZ表的结构
MariaDB [linux]> INSERT INTO YZ values ('AA',123); //在linux库的yee表里插入内容:username为AA,password为123
MariaDB [linux]> INSERT INTO YZ values ('BB',123);
MariaDB [linux]> SELECT * FROM YZ; #查看YZ表里的内容
数据库信息的修改
MariaDB [(none)]> flush privileges; //数据库的刷新
Query OK, 0 rows affected (0.00 sec)
MariaDB [linux]> ALTER TABLE YZ RENAME YYZZ; //修改表的名字
MariaDB [linux]> SHOW TABLES; //显示linux库的表 ,可见库名称被修改为YYZZ
MariaDB [linux]> ALTER TABLE hahaha ADD age varchar(4); //添加表的字段,默认添加在最后,默认添加在标的最后
MariaDB [linux]> SELECT * FROM YYZZ;//查看表hahaha的内容
MariaDB [linux]> ALTER TABLE YYZZ DROP age; //删除age字段
MariaDB [linux]> ALTER TABLE YYZZ ADD age varchar(10) AFTER username; //添加字段到某个位置,不能加到最前面,有 错乱的可能
MariaDB [linux]> SELECT * FROM YYZZ; //查看表的内容
MariaDB [linux]> UPDATE YYZZ SET username='CC' WHERE username=AA''; //修改表的内容,将AA修改为CC
MariaDB [linux]> UPDATE YYZZ SET age='20'; //将所有的user的age修改为20
MariaDB [linux]> UPDATE YYZZ SET age='18' WHERE username='AA';//这样只修改AA的age
MariaDB [linux]> DELETE FROM YYZZ WHERE username='AA'; //删除表的内容
MariaDB [linux]> DROP TABLE YYZZ; //删除表,发现表里的东西都没有了
MariaDB [linux]> DROP DATABASE linux; //删除库,发现linux库已经没有了
MariaDB [(none)]> SHOW DATABASES;
用户授权
create user yyzz@localhost identified by ‘yyzz’; ##添加用户yyzz,
用yyzz用户身份登录:
show grants for yyzz@localhost; ##查看用户yyzz的权限
grant select on mysql.* to yyzz@localhost; ##给yyzz授查看mysql库的权限(假如是westos.* 则是查看westos库)
select * from mysql.user;
grant DROP on westos.* to yyzz@localhost; 授予yyzz删除westos库的权限
测试:
drop database westos;
grant CREATE on westos.* to yyzz@localhost; 授予yyzz修改westos库的权限
测试:
用户权利的移除
SHOW GRANTS FOR yyzz@localhost 查看yyzz用户的权利,移除的权利都没有了
重置密码
原来密码记得的:
mysqladmin -uroot -predhat password westos(redhat为原来的密码,westos为要修改的密码)
忘记原来的密码:
1:systemctl stop mariadb //关闭服务
2:mysqld_safe –skip-grant-tables & //使得直接输入mysql也能进入
3:mysql //进入数据库更新密码
4:use mysql //进入mysql库
5: UPDATE mysql.user set Password=password(‘westos’) WHERE User=’root’; ##重置密码 , Password=password(‘westos’) ,该步是使密码以乱码的形式呈现, Password=westos 如果是这样,则密码以westos明文的形式呈现
6:ps aux | grep mysql //查看正在运行的mysql进程
7: kill -9 进程号 //停止正在运行的mysql进程 ,最后一个不是的,不用关闭
8:systemctl start mariad //启动数据库
9:mysql -uroot -pwestos //使用更改后的密码登陆数据库
备份数据库(以westos库为例)
方式一:
mysqldump -uroot -pwestos westos > /mnt/westos.sql ##将westos数据库里的信息导入到/mnt/westos,sql
mysql -uroot -pwestos -e "DROP DATABASEwestos;" ##删除westos库
方式一:
mysql -uroot -pwestos -e "CREATE DATABASE westos;" ##添加westos库
mysql -uroot -pwestos westos < /mnt/westos.sql (必须要先有库才能导入)
mysql -uroot -pwestos -e "SHOW DATABASES;" ##查看westos库是否被还原
方式二:
vim /mnt.westos.sql //进入配置文件,让其自动建立westos库
mysql -uroot -pwestos westos < /mnt/westos.sql //直接导入就可以
网页模式管理数据库
[root@shaerserver ~]# yum install httpd -y
[root@shaerserver ~]# yum install php -y
[root@shaerserver ~]# systemctl restart httdd
[root@shaerserver ~]# yum search php //搜索支持php的相关软件,下载需要的服务
[root@shaerserver ~]# yum install php-mysql.x86_64 -y
[root@shaerserver ~]# yum install httpd -y
[root@shaerserver ~]# systemctl start httpd //开启http服务
[root@shaerserver ~]# cd /var/www/html/
[root@shaerserver html]# ls
[root@shaerserver ~]# systemctl stop firewalld
在网络上下载安装包:phpMyAdmin-2.11.3-all-languages.tar.bz2
[root@localhost html]# ls
phpMyAdmin-2.11.3-all-languages.tar.bz2
[root@localhost html]# tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 //解压缩
[root@localhost html]# ls
phpMyAdmin-2.11.3-all-languages phpMyAdmin-2.11.3-all-languages.tar.bz2
[root@localhost html]# rm -fr phpMyAdmin-2.11.3-all-languages.tar.bz2 //删除安装包,节省空间
[root@localhost html]# mv phpMyAdmin-2.11.3-all-languages/ mysqladmin //重命名为mysqladmin
[root@localhost html]# ls
[root@localhost mysqladmin]# cp config.sample.inc.php config.inc.php //复制生成config.inc.php文件
[root@localhost mysqladmin]# vim config.inc.php //修改密码(该密码执行vim Documentation.txt,可查看到)
浏览器:172.25.254.160/mysqladmin,登陆进入网页模式