MySQL的root口令破解
MySQL的root口令破解工作中有时候可能会遇到root口令丢失的情况,此时可以通过以下方法进行破解root口令
MySQL破解root口令演示当前环境由于root密码未知无法登陆MySQL
12[root@localhost ~]# mysqlERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
修改配置文件/etc/my.cnf,添加两行参数skip_grant_tables:跳过授权表信息,此项生效后再次使用MySQL就无需使用密码了,但是远程的其他用户也可以不使用密码登陆,有一定的风险性skip_networking:关闭网路功能,由于光启用skip_grant_tables选项,其他用户也可以无需密码登陆MySQL非常危险,所以需要关闭网路功能只允许本地的用户进行操作。
1234567[root@localhost ~]# vim /etc/my.cnf[mysqld]skip_networking=on ...
MySQL用户和权限
在MySQL中有一个系统自身就带有的数据库叫MySQL,数据库装好以后系统自带了好几个数据库,MySQL就是其中过一个,MySQL数据库有个用户账户权限相关的表叫user表,在其中就有创建的用户。
MySQL中完整的用户名是由用户+主机名形成,主机名决定了这个用户在哪个主机上能登陆。
用户的创建、删除和密码修改用户的创建MySQL创建用户时可以使用create user命令来进行创建,也可以在授权时直接创建出用户。此处将演示create user的用法。
语法格式:
12345create user 'USERNAME'@'HOST' identified by 'PASSWORD';USERNAME:用户名HOST:主机地址PASSWORD:密码
示例:
1234567891011121314151617MariaDB [(none)]> create user masuri@192.168.73.133 identified by 'centos'; #创建一个账户,用户名为masur ...
MySQL安全加固
新安装的MySQL没有经过安全加固时,管理员的账户是空口令,匿名的账号也能登录数据库,此时是非常不安全的
匿名用户登录MySQL当前MySQL数据库为新安装的数据库,所以使用匿名用户可以进行登录
123456789101112131415161718[root@localhost mysql]# mysql -u 1234 #使用匿名用户登录MySQLWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 19Server version: 10.2.23-MariaDB-log MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input ...
MySQL客户端简单使用
本节主要说明MySQL的客户端的使用方式
MySQL账号mysql用户账号由两部分组成
1'USERNAME'@'HOST'
USERNAME:用户名
HOST:限制此用户可以通过哪些远程主机连接MySQL服务器
HOST支持使用通配符”%”,”_”
%匹配任意长度的任意字符,如192.168.0.0/255.255.0.0 或172.16.%.%
_匹配任意长度的单个字符。
MySQL的登录MySQL在登录时需要使用-u指定账号,-p指定密码
123456789101112[root@localhost mysql]# mysql -uroot@localhost -pEnter password:Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 15Server version: 10.2.23-MariaDB-log MariaDB ServerCopyright (c) 2000, 201 ...
MySQL编译安装和安装MySQL多实例
编译安装MySQL安装编译所需要的包
1yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel libevent-devel libaio-devel -y
添加MySQL用户
1[root@localhost ~]# useradd -r -s /sbin/nologin -d /data/mysql mysql
为MySQL用户添加家目录
123[root@localhost ~]# mkdir /data/mysql[root@localhost ~]# chmod 700 /data/mysql[root@localhost ~]# chown mysql.mysql /data/mysql
下载mariadb源码包
1[root@localhost ~]# wget http://ftp.hosteurope.de/mi ...
Mariadb二进制安装
MySQL支持YUM安装,但是很多企业内不使用YUM安装,因为YUM源内所带有的MySQL数据库版本偏老,而且安装完毕后其默认路径并不符合我们的生产需要。所以MySQL安装通常会使用源码编译或二进制安装。
Mariadb二进制安装创建mysql用户
1[root@localhost ~]# useradd -r mysql
下载Mariadb二进制包
1[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.3.17/bintar-linux-systemd-x86_64/mariadb-10.3.17-linux-systemd-x86_64.tar.gz
解压文件到/usr/local目录下
1[root@localhost ~]# tar -xf mariadb-10.3.17-linux-systemd-x86_64.tar.gz -C mariadb-10.3.17-linux-systemd-x86_64
为解压后的二进制安装包创建一个软连接
12[root ...
MySQL的变量和选项
MySQL的系统数据库MySQL刚安装完毕时,默认带有MySQL数据库,performance_scema数据库和information_schema数据库这3个数据库。
MySQL是MySQL的核心数据库
performance_scema是MySQL5.5之后新增的数据库,主要用于收集数据库服务器性能参数
information_schema是MySQL5.0之后产生的一个虚拟的数据库,物理上并不存在。
MySQL服务器配置在MySQL数据库运行时,是跑了一个mysqld的进程,他实质上是由mysqld_safe来调用的,mysql_safe是一个脚本。
mysqld选项、服务器系统变量和服务器状态变量mysqld选项mysqld选项就是在进程中mysqld后面所跟的各种参数,这些选项都能存放在服务器的配置文件中。
MySQL运行时所使用的选项查看方法:
123#使用ps -aux | grep mysqld 过滤出mysql的进程,在/app/mysql/bin/mysqld后面所带的各种参数就是MySQL的选项。[root@localhost Packages]# ps - ...
数据库的基础(三)
SQL概念对于MySQL数据库来说,它所使用的数据库语言是数据库的标准规范语言。除了MySQL其他的关系型数据库语言如oreclo、sql_server、DB2,所使用的也都是标准的关系型数据库语言SQL语言。MySQL中的SQL就是从此处而来。
SQL的含义为结构化的查询语言,这种语言转适用于对关系型数据库进行各种增删查改的操作,这是一种国际标准的SQL语言,适用于各种关系型数据库。所以MySQL的语言是可以在其他的SQL数据库中通用的。
MySQL服务器端MySQL包括其他数据库基本上都是基于C/S架构,有专门的服务器端软件按和专门的客户端软件,MySQL的服务器端软件会监听在tcp的3306端口
MySQL客户端MySQL客户端软件有图形界面的也有命令行模式,在MySQL中客户端工具是在服务端安装完毕后自带了一个命令行工具,名字叫mysql。通过mysql这个小软件就可以连接数据库进行操作,当然也有第三方图形化的软件。对于这种连接方式对用户的要求是非常高的,要求用户必须是专业的数据库的工程师才能知道去输入哪些命令去连接和管理。
事实上大部分普通人根本不会些SQL语句,但是他就是 ...
数据库的基础(二)
关系型数据库关系型数据库就是将所有的数据基于关系的方式来保存,所谓的关系就是将所有的数据将其保存在一个一个的二维表中。
关系 :关系就是二维表,其中:表中的行、列次序并不重要
行row:表中的每一行,又称为一条记录
列column:表中的每一列,称为属性,字段
主键Primary key:用于惟一确定一个记录的字段。主键是一个属性作用在某一个字段上,一旦作用在某一个字段上,那么就表示这个字段上所有的记录在这个字段内是不能重复的,注意每张表上的主键只能有一个。
域domain:每个字段、属性的取值范围,如,性别只能是‘男’和‘女’两个值
数据的操作数据提取:在数据集合中提取感兴趣的内容。SELECT(查)。
数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE
表和表之间的联系数据库的表和表之间是有关联的,它们之间的关联有可能是一对一的关系,也有可能是一对多的关系或者多对多的关系。
一对一联系比如说员工信息表和员工工资表,这两张表就是一对一的关系,但是如何将这两张表进行关联起来?这就需要靠员工编号进行关联,比如1号员工的信息是什么,1号员工的工资是多少。这样就将这两张 ...
数据库的基础(一)
数据库在互联网企业中应用非常普遍,数据库在企业内一般由专业的DBA来进行管理,但是在有些公司内梅有专业的DBA管理员,这时候就需要运维人员兼任DBA。传说中删库跑路就是说的此处。
MySQL数据库相当复杂,首先我们先介绍下MySQL数据库基础。
数据库基础数据的时代现在是大数据的时代,产生了大量的数据,近代时间所产生的数据比人类文明产生到计算机诞生所产生的数据更多,所以大数据的概念应运而生,大数据就是分析各种地方产生的数据,从中能分析出一些有价值的东西。
数据库的发展历史产生了那么多数据,我们要使用这些数据,就需要让其找个地方保存下来。数据库发展至今都经历了以下几个阶段。
萌芽阶段:文件系统使用磁盘文件来存储数据
早期数据是以文件的方式存放,将数据存放在一个文件内。这种数据的存放方式到目前为止依旧在使用。但是以文件的方式来存放数据,这种方式并不专业。比如说,如果把一个具体的数据存放在一个文件中,那么当你要管理磁盘上的文件是相当麻烦的,因为我们要管理这些文件需要用到对应的文件管理工具,比如我要把文件放在word内就需要用word打开,如果将数据存放在excel内就需要使用excel进 ...