数据库===》数据库安装、MySQL体系结构、MySQL多实例操作步骤总结

一、数据库安装和部署

1.源码包安装

准备工作:1)准备软件包(下载软件包Source Code上传到服务器)
         2)安装编译需要用到的软件包  make  cmake gcc gcc+ c++
         3)创建服务相关的目录和用户
安装过程:1)解压上传的软件包
         2)生成编译环境   ./configure   cmake
         3)编译以及编译安装  make && make install
服务启动:1)初始化数据库 (源码安装数据库需要执行)
         2)复制配置文件以及启动脚本
         3)配置环境变量

2.二进制安装

	第一步:准备软件包
	第二步:安装依赖的一些软件
	第三步:解压二进制软件包到指定位置。  /usr/local
	第四步:配置系统文件(默认路径下的配置文件以及启动脚本,配置环境变量)
	第五步:初始化数据库、启动服务

3.YUM安装

	第一步:配置YUM源。
	第二步:YUM进行安装。
	第三步:启动服务、授权等等。

二、回顾linux系统root密码的重置方式

1.通过单用户模式重置root密码。

init 1  单用户模式  
init 3  多用户模式  
init 5   图形模式

2.光盘修复模式。

数据库密码恢复的方式:
第一种:误删除了root用户的用户信息。
	第一步:停止数据库服务。
	第二步:启动的时候跳过skip-grant-table授权验证表,以及跳过网络模式 skip-netowrking。
	第三步:登入数据库。
	第四步:往mysql.user表内insert  user,host,password数据。
	第五步:重启数据库服务进行正常登陆。


第二种:忘记root用户的登陆密码
	第一步:停止数据库。
	第二步:启动的时候跳过skip-grant-table授权表以及跳过网络模式  skip-networking
	第三步:update更新mysql.user表中的root用户的密码信息。
	第四步:重启服务进行正常登陆。

三、数据库连接

1.数据库相关概念

数据库管理软件:套接字程序
数据库服务器:运行有数据库管理软件服务端得=的计算机
数据:记录事务得状态
记录:文件中的一行内容
表:文件
库:文件夹

2.数据库服务架构

数据库是C/S服务架构
1.客户端:mysql  命令行
2.服务端:mysqld===》数据库内
3.Navicat、sqlyog===》第三方工具


数据库连接方式
1.socket连接模式
2.tcp连接模式

3.配置文件说明

mysql配置文件结构:
[mysqld]      #启动服务端会加载的配置文件内容
datadir=/backup/data1
socket=/var/lib/mysql/mysql.sock
server_id=1
log_bin=mysql-bin
 
[mysql]       #启动mysql客户端会加载的配置文件内容
user=root     #可以免密进入数据库(默认root用户登录)
password=123
port=3306

[client]      #针对客户端的全局配置
port=3306
default-character-set=utf8
user=root
password=123

#如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准

4.统一字符编码

 #1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%'

5.mysql数据库怎么存入emoji表情

第一步:设置数据库字符编码为utf8mb4_general_ci  设置相应表字段字符编码为utf8mb4_general_ci

第二步:设置my.cnf增加以下配置信息

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

第三步:重启MySQL 保存表情数据查看数据库就可以看到数据库中有表情字符的存在。

四、mysql的体系结构

1.连接层。建立连接以及验证。
2.sql层。处理所有的sql语句以及对实例发起的动作。
3.存储引擎层。

五、mysql多实例

多个端口  多个socket文件  多个data目录  多个日志文件
1.准备多个实例目录,data目录,socket文件存放目录,bin-log error-log存放位置
2.初始化多个实例的数据库。
3.修改各个实例目录的属主属组信息
4.配置环境变量。
5.启动多个实例。启动命令  mysqld_safe  --defaults-file=/data2/my.cnf

六、忘记密码

1.Linux平台下,破解密码的两种方式

方法一:
[root@egon ~]# rm -rf /var/lib/mysql/mysql   #所有授权信息全部丢失!!!
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql

方法二:启动时跳过授权库
[root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
[mysqld]
skip-grant-table
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql
MariaDB [(none)]> update mysql.user set password=password("123")  where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> \q
[root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql -u root -p123 #以新密码登录

#也可直接在命令行直接跳过授权(原理同上)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52492280/article/details/113418846