数据库
可以理解为linux高级excel表格
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在 维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英 语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
1.下载:
yum install mariadb-server -y
systemctl start mariadb
2.查看网络接口:
[root@shareserver ~]# netstat -antlupe | grep mysql
很不安全,关闭数据库开启的网络接口
vim /etc/my.cnf
10 skip-networking=1
3.安全初始化:
mysql_secure_installation ##数据库安全初始化
Enter current password for root (enter for none): ##数据库原始密码(默认没有直接回车)
Set root password? [Y/n] ##是否要设定数据库超级用户密码
New password: ##输入要设定的超级用户密码
Re-enter new password: ##重复输入
Remove anonymous users? [Y/n] ##是否删除匿名用户访问权限
Disallow root login remotely? [Y/n] ##是否禁止超级用户通过远程登陆
Remove test database and access to it? [Y/n] ##刷新数据库
Reload privilege tables now? [Y/n]
都选y
看到这个就可以使用啦
######################
数据库管理
在数据库中代码默认大小写都可以,但是行业规范大写
1.登陆
mysql -uroot -pwestos ###-u表示指定登陆用户,-p 表示指定此用户密码
快捷途径:
*mysql -u root -pwestos -e "DROP DATABASE westos;"
-e “” 引号中可以敲数据库命令
2.查询
SHOW DATABASES; ##显示数据库
USE westos; ##进入westos库
SHOW TABLES; ##显示当前库中表的名称
SELECT * FROM linux; ##查询表中的所有内容(*可以用此表中的任何字段来代替)
DESC linux; ##查询表的结构(显示所有字段的名称)
*注意每条指令后都有英文分号“;”
3.数据库及表的建立
创建数据库
CREATE DATABASE westos;
创建表(先USE westos)
MariaDB [westos]> CREATE TABLE linux (
-> username varchar(10) not null,
名称 字符(字符长度限制) 不为空
-> password varchar(50) not null
密码
-> );
DESC linux; 查看表
插入内容:
INSERT INTO linux VALUES ('jack','123');
4.更新数据库信息
UPDATE linux SET password='456' WHERE username='jack';
更新jack的密码(明文)
update linux set password=password('456') where ( username='jack' );
非明文加密
更改结构,添加行列
ALTER TABLE linux ADD age varchar(4);
ALTER TABLE linux ADD age varchar(5) after name 在名字列后添加列age列
ALTER TABLE linux DROP age 删除年龄列
DELETE from linux where username=jack; 删除jack行
5.删除数据库
DELETE from linux where username='jack'; ##删除jack的数据从linux表中
DROP TABLE linux; ##删除linux表
DROP DATABASE westos; ##删除westos库
6.数据库的备份
mysqldump -u root -pwestos --all-database > /mnt/alldata.sql
##备份所有表中的所有数据并导出到/mnt/alldata.sql
mysqldump -u root -pwestos --all-database --no-data ##备份所有表,但不备份数据
mysqldump -u root -pwestos westos ##备份westos库
mysqldump -u root -pwestos westos > /mnt/westos.sql ##备份westos库并把数据保存到westos.sql中
mysqldump -uroot -pwestos westos linux > /mnt/linux.sql ##备份westos库中的linux表
mysqldump -uroot -pwestos westos test > /mnt/test.sql ##备份westos库中的test表
数据恢复:
mysqldump -u root -pwestos westos > /mnt/westos.sql 备份westos库并把数据保存到westos.sql中
mysql -u root -pwestos -e "DROP DATABASE westos;" 删除westos库
直接导入备份会报错
1)先建库,再导数据:
mysql -uroot -pwestos -e "create database westos;" ##建立westos库
mysql -uroot -pwestos westos < /mnt/westos.sql ##把数据导入westos库
或者:mysql -uroot -pwestos westos < /mnt/alldata.sql
2)文件编辑法
vim /mnt/westos.sql
21 CREATE DATABASE westos;
22 USE westos;
再导入
mysql -uroot -pwestos < /mnt/westos.sql 注意与上面命令差别
7.用户授权
CREATE user jack@localhost IDENTIFIED BY 'jack';
##建立用户jack,此用户只能通过本机登陆,密码为jack
CREATE user jack@'%' IDENTIFIED BY 'jack'; ##建立用户jack,此用户可以通过网络登陆
GRANT SELECT, INSERT, UPDATE, DELETE ON westos.linux to jack@localhost;
##用户授权——westos库中的linux表的insert,update,delete,select权力
GRANT SELECT ON westos.* to jack@'%'
SHOW GRANTS FOR jack@'%'; ##查看用户授权
SHOW GRANTS FOR jack@localhost;
REVOKE DELETE ON westos.linux FROM jack@localhost; ##去除用户授权权力
DROP user jack@localhost; ##删除用户
FLUSH PRIVILEGES; ##刷新(如果更改后没有更新)
8.密码修改
当超级用户密码忘记:
mysqladmin -uroot -pwestos password redhat ##修改超级用户密码(假装忘记)
systemctl stop mariadb.service ##先关闭程序
mysqld_safe --skip-grant-tables & ##开启mysql登陆界口并忽略授权表
mysql ##直接不用密码可以登陆
SELECT User,Password FROM mysql.user; ##查看密码
UPDATE mysql.user set Password=password('123') where User='root';
##更新超级用户密码信息(密文)
ps aux | grep mysql ##过滤mysql的所有进程并结束这些进程
kill -9 mysqlpid
systemctl start mariadb ##重新开启mysql
mysql -uroot -p123 ##登陆测试
############数据库的网页管理工具#########
1.安装
yum install httpd php php-mysql -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
需要下载
phpMyAdmin-3.4.0-all-languages.tar.bz2
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html
mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
cd /var/www/html/mysqladmin/
cp -p config.sample.inc.php config.inc.php
vim Documentation.txt
133 $cfg['blowfish_secret'] = 'ba17c1ec07d65003'; // use here a value of your choice
复制ba17c1ec07d65003到下面*****
vim config.inc.php
17 $cfg['blowfish_secret'] = '****'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
systemctl restart httpd
setenforce 0 关闭selinux
测试:
访问
http://172.25.254.100/mysqladmin