mysql数据库的基本管理
数据库的介绍
1.
什么是数据库
数据库就是个高级的表格软件
2.
常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver .......
3.
Mysql (SUN
----->
Oracle)
4.
mariadb
数据库中的常用名词
1.
字段 :表格中的表头
2.
表 :表格
3.
库 :存放表格的目录
4.
查询 :对表格中的指定内容进行查看
mariadb的安装
dnf install mariadb
-
y
软件基本信息
mariadb.service ##启动服务名称
3306
##默认端口号
/
etc
/
my.cnf.d
/
mariadb
-
server.cnf ##
主配置文件
/
var
/
lib
/
mysql ##数据目录
,
当需要重新安装
mariadb
时需要清理此目录或备份
数据库开启
systemctl enable
--
now mariadb
数据库的安全初始化
1.
关闭数据库开放端口
vim
/
etc
/
my.cnf.d
/
mariadb
-
server.cnf
[mysqld]
skip
-
networking
=
1
systemctl restart mariadb
netstatus
-
antlupe
|
grep mysql #
此命令查询不到端口
2.
执行安全初始化脚本
mysql_secure_installation ##数据库初始化
[root@westos_rh124_150 Desktop]# mysql ##默认不需要密码
,
初始化完毕后需要
ERROR
1045
(
28000
)
:
Access denied
for
user
'root'
@
'localhost'
(using password
:
NO)
[root@westos_rh124_150 Desktop]#mysql
-
uroot
-
p ##
-
u
指定登陆用户
-
p
密码
数据库的基本管理
1.
查看
SHOW DATABASES; ##显示库名称
USE mysql; ##进入
mysql
库
SHOW TABLES
; ##显示库中的所有表
SELECT
*
FROM user; ##查询所有数据
SELECT Host,User,Password FROM user; ##
查询指定字段
SELECT Host FROM mysql.user WHERE User
=
'root'
2.
新建
CREATE DATABASE westos; ##新建库
CREATE TABLE westos ( ##新建表
-> user varchar(6) not null,
-> password varchar(30) not null
-> );
-> user varchar(6) not null,
-> password varchar(30) not null
-> );
DESC westos; ##显示表结构
INSERT INTO westos VALUES (
'user1'
,
'123'
); #
插入数据
FLUSH PRIVILEGES; #刷新数据库
3.
更改
ALTER TABLE redhat RENAME westos; ##更改表名称
ALTER TABLE westos ADD age varchar(
4
) AFTER password; 在password之后添加4位数的新字段age
ALTER TABLE westos DROP age; ##删除age字段
UPDATE westos SET sex
=
'g'
WHERE user
=
'node2'
; ##更改sex中node2的内容为
'g'
4.
删除
DELETE from westos where user
=
'node2'
and age
=
'g'
; ##删除node2和sex下的
'g'
DROP TABLE westos; ##删除表
DROP DATABASE linux; ##删除库
数据密码管理
1.
数据密码更改(已经知道密码)
mysqladmin
-
uroot
-
p0000 password 9999
也可采用另一种方式:
mysqladmin -uroot -p password
mysqladmin -uroot -p password
2.
数据库密码破解
systemctl stop mariadb ##关闭数据库
mysqld_safe
--
skip
-
grant
-
tables
& ##开启数据库的安全模式
UPDATE mysql.user set Password
=
password('0000
'
) WHERE User
=
'root'
; ##
当未使用过
mysladmin
更改过密码
UPDATE mysql.user set authentication_string
=
password(
'0000'
) WHERE User
=
'root'
; ##
当使用过 mysladmin更改过密码
ps aux
|
grep mysql
kill
-
9
mysql
的所有进程
systemctl start mariadb
用户授权
CREATE USER lee
@localhost
identified by
'lee'
; ##
只能用
localhost
登陆
CREATE USER lee
@
% identified by '%'; ##
可以通过网络或
localhost
登陆
GRANT INSERT,SELECT ON westos
.*
TO lee
@localhost
; ##对用户进行授权
SHOW GRANTS
for
lee
@localhost
;
REVOKE SELECT ON westos
.*
FROM lee
@localhost
; ##收回赋予用户的权利
DROP user lee
@localhost
;
数据库的备份
mysqldump
-
uroot
-
p0000
--
all
-
database ##备份所有库
mysqldump
-
uroot
-
p0000
--
all
-
database
--
no
-
data ##只备份库结构
mysqldump
-
uroot
-
p0000 westos ##备份westos库
mysqldump
-
uroot
-
p0000 westos
> /
mnt
/
westos.sql ##备份westos库到
/
mnt
/
westos.sql中
第一种方法
mysql
-
uroot
-
p0000
-
e
"create database westos;"
mysql
-
uroot
-
p0000 westos
< /
mnt
/
westos.sql
第二种方法
vim
/
mnt
/
westos.sql
CREATE DATABASE westos;
USE westos;
mysql
-
uroot
-
p0000
< /
mnt
/
westos.sql