Linux运维~4.数据库mariadb

数据库

可以理解为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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值