1 - 数据库服务概述 | 构建MySQL服务 | 数据库基本管理 | MySQL基本类型

发布时间:2023年12月28日

数据库服务概述

数据库就是存储数据的仓库
用来存储数据的服务器 就成为数据库服务器
在这里插入图片描述

构建mysql服务

如果之前有mariadb,则需要先卸载,并删除对应的配置与数据:

[root@host50 ~]# systemctl  stop mariadb

删除/etc/my.cnf配置文件
此配置文件由RHEL自带的mariadb-libs库提供:

[root@host50 ~]# rm -rf /etc/my.cnf

删除数据

[root@host50 ~]# rm -rf /var/lib/mysql/*

卸载软件包

[root@host50 ~]# rpm -e --nodeps mariadb-server  mariadb 
警告:/var/log/mariadb/mariadb.log 已另存为/var/log/mariadb/mariadb.log.rpmsave

安装mysql软件包

解压mysql-5.7.17.tar 软件包

[root@host50 ~]# tar -xvf mysql-5.7.17.tar               //解压mysql整合包

安装MySQL软件包

[root@host50 ~]# yum  -y   install    mysql-community-*.rpm   //yum安装自动解决依赖

启动MySQL数据库服务并设置开机自启(提示:第一次启动,需要初始化数据,会比较慢)

[root@host50 ~]# systemctl start mysqld                  //启动mysql服务
[root@host50 ~]# systemctl enable mysqld                 //设置开机自启
[root@host50 ~]# systemctl status mysqld                 //查看mysql服务状态
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2018-08-28 10:03:24 CST; 8min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 4284 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─4284 /usr/sbin/mysqld --daemonize --pid-file=/var/r...
828 10:02:56 localhost.localdomain systemd[1]: Starting MySQ...
828 10:03:24 localhost.localdomain systemd[1]: Started MySQL...
Hint: Some lines were ellipsized, use -l to show in full.

[root@host50 ~]# netstat -utnlp | grep 3306

连接mysql服务器 修改密码

  • 查看初始密码
[root@host50 ~]#grep -i  'password' /var/log/mysqld.log
2017-04-01T18:10:42.948679Z 1 [Note] A temporary password is generated for root@localhost: mtoa>Av<p6Yk        //随机生成的管理密码为mtoa>Av<p6Yk
  • 使用初始密码连接mysql服务
[root@host50 ~]# mysql -u root -p'mtoa>Av<p6Yk' //初始密码登录
...
mysql>                                     //登录成功后,进入SQL操作环境
...
  • 重置数据库管理员root本机登陆密码
mysql> show database;
mysql> alter user root@"localhost" identified by "123qqq...A";  // 修改密码
Query OK, 0 rows affected (0.00 sec)
mysql> exit;

mysql> show  databases; //查看数据库(看到默认的4个库)
+--------------------+
| Database            |
+--------------------+
| information_schema |
| mysql                |
| performance_schema  |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit   //断开连接

密码管理

  • 修改密码策略(设置密码复杂度)
  • 破解线下服务器root密码
  • 破解线上服务器root密码
  • 修改服务器root密码

修改密码策略(需要登陆)

[root@host50 ~]# mysql -uroot -p123qqq...A
mysql> show variables like "validata_password_%";  //查看与密码相关的全局变量 
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |    //默认密码长度
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |   //默认密码策略
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> set global validate_password_length = 6;  //修改密码最小长度
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_policy = 0 ;  //修改密码策略等级为0
Query OK, 0 rows affected (0.00 sec)

mysql> alter user  root@"localhost" identified by "123456";  //修改root密码
Query OK, 0 rows affected (0.03 sec)
mysql> exit; 断开连接

永久配置,修改配置文件

[root@host50 ~]# vim /etc/my.cnf
[mysqld]
validate_password_length = 6   //密码最小长度
validate_password_policy = 0   //密码等级

[root@host50 ~]# systemctl  restart mysqld   //重启服务
[root@host50 ~]# mysql -uroot -p123456  //登录
mysql> show variavles like "validate_password_length"; //只查看密码长度
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| validate_password_length | 6     |
+--------------------------+-------+
1 row in set (0.00 sec)
mysql>  show variables like "validate_password_policy"; //只查看密码策略
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| validate_password_policy | LOW   |
+--------------------------+-------+
1 row in set (0.00 sec)

破解数据库管理员root密码(数据库服务处于运行状态但是root忘记了密码)

破解线下数据库服务器管理员root密码

1)修改运行参数并重启服务
如果修改了密码策略必须恢复为默认的默默策略,不然服务无法跳过授权表启动

[root@host50 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables  #逃过授权表
#validate_password_length = 6   //注释掉
#validate_password_policy = 0   //注释掉
[root@host50 ~]# systemctl  restart mysqld    //重启服务
  1. 无密码登录
[root@host50 ~]# mysql    //无密码登录
mysql> update mysql.user set  authentication_string=password("123qqq...A")
    -> where user="root" and host="localhost";  //修改root用户本机登录密码(要符合默认的密码策略)
Query OK, 1 row affected, 1 warning (0.05 sec)
mysql> flush privileges;  //让修改生效
Query OK, 0 rows affected (0.02 sec)

3)修改配置文件并重启服务

[root@host50 ~]#  vim  /etc/my.cnf
[mysqld]
#skip-grant-tables   //注释
validate_password_length = 6  //删除注释
validate_password_policy = 0  //删除注释

[root@host50 ~]# systemctl  restart mysqld

4)修改后的密码登录

[root@host50 ~]# mysql -uroot -p123qqq...A   //登录
# 如果觉得破解后的密码太复杂,也可以用alter user设置简单的密码

破解线上服务器root密码(线上服务器不允许随便重启)

1)拷贝管理员能正常登录的数据库服务器的MySQL库覆盖本机的mysql库
把host51主机的mysql库拷贝给host50主机

[root@host50 ~]# scp -r root@192.168.4.51:/var/lib/mysql/mysql /var/lib/mysql/
root@192.168.4.51's password:  输入登录51主机的密码

2)重新加载数据

[root@host50 ~]# which  pstree  || yum -y install psmisc   安装pstree命令软件 可以查看父进程 
/usr/bin/pstree
[root@host50 ~]# pstree -p | grep   mysqld  | head  -1   查看父进程pid号
           |-mysqld(20261)-+-{mysqld}(20262)
[root@host50 ~]# kill  -SIGHUP 20261    发送信号给进程 重新加载

3)使用和host51主机一样的密码连接服务

[root@host50 ~]# mysql -uroot -pNSD123...a    密码登录
mysql> 

修改root密码

为了数据库管理员root用户密码安全,可以定期修改密码(比如每隔10天修改一次密码)
注意:修改密码必须要知道旧密码 才能修改新密码
使用 alter user命令也可以修改登陆密码,这个命令前提是 数据库管理员能够登陆服务 才能修改

[root@host50 ~]# mysqladmin  -uroot -pNSD123...a  password "123qqq...A"

# 第二种方式

[root@host50 ~]# mysqladmin  -uroot  -p   password 
Enter password: 旧密码
New password: 新密码
Confirm new password: 再输入一遍新密码

安装图形软件

安装phpmyadmin软件
在50主机做如下配置:
1) 部署phpmyadmin 运行环境LAP (A指的是apache P指的是php)

[root@host50 ~]# yum -y install httpd  php  php-mysql  安装软件
[root@host50 ~]# systemctl start httpd  启动服务
[root@host50 ~]# systemctl enable httpd 开机运行

2)安装phpmyadmin软件

[root@host50 ~]# tar -zxvf  phpMyAdmin-2.11.11-all-languages.tar.gz  解压软件
[root@host50 ~]# mv phpMyAdmin-2.11.11-all-languages /var/www/html/phpmyadmin  移动并改名
  1. 修改配置文件
[root@host50 ~]# cd /var/www/html/phpmyadmin/   进入安装目录
[root@host50 phpmyadmin]# cp config.sample.inc.php config.inc.php  # 拷贝模板文件,生成主配置文件config.inc.php  
[root@host50 phpmyadmin]# vim +17 config.inc.php 只需要修改第17行
$cfg['blowfish_secret'] = 'sww123';  随便添点字符就可以

4)打开真机浏览器,地址栏输入网址 http://192.168.4.50/phpmyadmin
在这里插入图片描述
在这里插入图片描述

必备命令

sql> select version(); //查看版本
sql> select user(); //查看登陆用户
sql> select database(); // 查看当前所在的库
sql> show databases; // 查看已有的库
sql> use 库名; //切换库
sql> show table; // 查看一有的表

相关参数

在这里插入图片描述

基础查询

  • 查询格式
select 字段名列表 from 库名.表名; # 查找表里的所有数据
select 字段名列表 from 库名.表名 where 查询条件;  # 只查询与条件匹配的数据
  • 别名 拼接 去重

在这里插入图片描述

文章来源:https://blog.csdn.net/shengweiit/article/details/135237881
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。