简介与安装
NoSQL
RDBMS
版本
安装方式
二进制安装,源码安装
体系结构
CS模型
TCP/IP
socket
mysql master thread
实例
mysqld 的程序构成
连接层 协议、验证、链接线程
SQL层 语法语义、权限、解析、优化、执行、日志记录
存储引擎层:存取磁盘数据

逻辑结构:库、表、属性、字符集和校对规则
表:表明、字段、记录、元数据
物理存储结构
库:就是一个目录
表:myisam、frm、myd、myi
innodb :frm ibd
innodb 存储引擎表
段 区 页


MySQL基础管理
用户权限

create user oldboy@'10.0.0.%' identified by '';
drop user oldboy@'10.0.0.%' ';
alter user oldboy@'10.0.0.%' identified by '123
select user,host from mysql.user; grant all on *.* to root@'10.0.0.%';
revoke drop,delete,insert,update from root@'10.0.0.%';
show grants for root@'10.0.0.%';

参数--root忘记密码时使用socket方式登录修改

--skip-grant-tables
--skip-networking mysql -uroot -p -S /tmp/mysql.sock --socket链接方式
mysql -uroot -p -h192.168.16.174 -P3306 --tcp/IP链接方式
-P必须与-h 同时使用
-e 参数:免交互方式使用数据库,如:
mysql -uroot -p123 -e"select user,host fom mysql.user;"

< 导入脚本数据

mysql -uroot -p <word.sql;

启动方式
service mysqld start --> ./mysql.server start -->mysqld_safe
./bin/mysqld_safe & --> mysqld_safe --> mysqld
systemd :systemctl start mysqld

mysql --skip-grant-tables --skip-networking

初始化配置:预编译、配置文件、命令行

作用:控制MySQL的启动、
配置文件:/etc/my.conf
命令行:仅限于mysqld_safe 和mysqld,临时维护使用

初始化配置文件:
初始化配置文件顺序,有重复的以最后一个为准
mysqld --help --verbose|grep my.cnf
但指定的除外:
--default-file=/etc/my.cnf

my.cnf

[mysqld]
user=mysql
basedir=/u02/app/mysql
datadir=/u02/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock [mysql]
socket=/tmp/mysql.sock
prompt=3306[\\d]> #[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid

标签类型:客户端、服务端
服务端标签:

【mysqld】
【mysql_safe】
【server】

客户端标签:

【mysql】
【mysqldump】
【client】

服务端例子:

【mysqld】
user=mysql
basedir=/u02/app/mysql
datadir=/u02/data/mysql
socket=/tmp/mysql.sock
server_id=6 ----5.7版本必须字段,范围1-65535
port=3306
log_err=/u02/mysql/data/mysql/mysql..log

说明:socket=/tmp/mysql.sock可以任意指定如:socket=/etc/mysql.sockaaa

重启数据库后,再次登录时需要指定

mysql -uroot -p -S socket=/etc/mysql.sockaaa

service mysqld stop
mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
报错原因:数据库没起,或者指定socket文件错误
netstat -lnp|grep 3306
system start mysqld

客户端例子:

【mysql】
socket=/tmp/mysql.sock
prompt=3306[\\d]>
#user=root
#passwd=123 说明:prompt=3306[\\d]> 用于显示登录后的路径
如此时显示 3306[(none)]>
修改prompt=[\\d]>
此时显示 [(none)]>
修改 prompt=mysql>
此时显示 mysql>

多实例应用
1、准备多个目录

mkdir -p /u02/data/330{7,8,9}/data 

2、生成配置文件

cat >/u02/data/3307/my.cnf<<zfd
[mysqld]
basedir=/u02/app/mysql
datadir=/u02/data/3307/data
socket=/u02/data/3307/mysql.sock
port=3307
log_err=/u02/data/3307/mysql.log
serve_id=7
log_bin=/u02/data/3307/mysql-bin
zfd cat >/u02/data/3308/my.cnf<<zfd
[mysqld]
basedir=/u02/app/mysql
datadir=/u02/data/3308/data
socket=/u02/data/3308/mysql.sock
port=3308
log_err=/u02/data/3308/mysql.log
serve_id=8
log_bin=/u02/data/3308/mysql-bin
zfd cat >/u02/data/3309/my.cnf<<zfd
[mysqld]
basedir=/u02/app/mysql
datadir=/u02/data/3309/data
socket=/u02/data/3309/mysql.sock
port=3309
log_err=/u02/data/3309/mysql.log
serve_id=9
log_bin=/u02/data/3309/mysql-bin
zfd

  

3、初始化三套数据

mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure --user=mysql --datadir=/u02/data/3307/data --basedir=/u02/app/mysql --pid-file=/u02/data/3307/data/zhangfd.pid
mysqld --initialize-insecure --user=mysql --datadir=/u02/data/3308/data --basedir=/u02/app/mysql
mysqld --initialize-insecure --user=mysql --datadir=/u02/data/3309/data --basedir=/u02/app/mysql

4、system管理多实例

cd /etc/systemd/system
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service
修改各个service :ExecStart=/u02/app/mysql/bin/mysqld --defaults-file=/u02/data/3307/my.cnf

使用service sshd start 方式启停服务的设置待解决,因为系统不能使用systemctl命令来管理服务*******

5、授权

chown -R mysql.mysql /u02/data/*

  

6、启动

systemctl start mysql3307.service
systemctl start mysql3308.service
systemctl start mysql3309.service
netstat -lnp|grep 330

  

MySQL -2- 体系结构--随笔小记的更多相关文章

  1. 【转】数据库介绍(MySQL安装 体系结构、基本管理)

    [转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...

  2. 004:MySQL数据库体系结构

    目录 一. MySQL数据库体系结构 1.MySQL数据库体系结构介绍 1 数据库定义 2 数据库实例 2. MySQL体系结构 1 单进程多线程结构 2 存储引擎的概念 3 体系结构图 4 逻辑存储 ...

  3. 温故知新-Mysql的体系结构概览&sql优化步骤

    文章目录 Mysql的体系结构概览 连接层 服务层 引擎层 存储层 存储引擎 存储引擎概述 存储引擎特性![存储引擎特性对比](https://img-blog.csdnimg.cn/20200510 ...

  4. MySQL的体系结构

    因为MySQL采用的是客户机/服务器体系结构,所以你在使用MySQL存取数据时,必须至少使用两个或者说两类程序: 一个位于存放您的数据的主机上的程序 ----数据库服务器.数据库服务器监听从网络上传过 ...

  5. 数据库介绍(MySQL安装 体系结构、基本管理)

    第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式 ...

  6. mysql -> 简介&体系结构_01

    数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式储存在一起.能予多个用户共享.具有尽可能小的 ...

  7. mysql 内存体系结构--session

    体系结构tmp_table_size & max_heap_table_size ,这个是会话级的内存结构mysql使用总内存 = global_buffers + thread_buffer ...

  8. MySQL之体系结构与存储实例

    定义数据库和实例 在数据库领域中有两个词很容易混淆,这就是“数据库”(database)和“实例”(instance).作为常见的数据库术语,这两个词的定义如下: 数据库:物理操作系统文件或其他形式文 ...

  9. [高性能MYSQL 读后随笔] 关于事务的隔离级别(一)

    一.锁的种类 MySQL中锁的种类很多,有常见的表锁和行锁,也有新加入的Metadata Lock等等,表锁是对一整张表加锁,虽然可分为读锁和写锁,但毕竟是锁住整张表,会导致并发能力下降,一般是做dd ...

随机推荐

  1. iptables中DNAT和SNAT转发的配置方法

    1.一对一流量完全DNAT 首先说一下网络环境,普通主机一台做防火墙用,网卡两块 eth0 192.168.0.1  内网 eth1 202.202.202.1 外网 内网中一台主机 192.168. ...

  2. html页面中引入html

    我们写页面通常会遇到这种情况,一个模块很多页面都用到,那么我们为了方便就会单独写到一个页面,然后引入进去,我知道的有三种: 1.用标签<iframe></iframe> 例: ...

  3. select和FD_SET等

    转自:http://blog.csdn.net/cstarbl/article/details/7645298 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供sele ...

  4. 上传本地文件到linux

    Linux 命令行上传文件 Linux服务器,硬盘坏了,更换硬盘后,重装了好像是Foreda v22的操作系统,我在/var/www/html/目录下新建了我的个人文件夹 kma,然后我在此kma文件 ...

  5. C++入门经典-例5.18-通过引用交换数值

    1:在C++中,函数参数的传递方式主要有两种,即值传递和引用传递.值传递是指在函数调用时,将实际参数的值赋值一份传递到调用函数中,这样如果在调用函数中修改了参数的值,其改变将不会影响到实际参数的值.而 ...

  6. Struts初学

    自我概述 今天看了Struts,感觉这是个非常好用的东西!虽然它已经过时了,被springMVC取代了,但是仍然有了解的价值. 可是在学习过程中遇到了很多问题,比如其中一些原理很是抽象,有一些问题莫名 ...

  7. 2019Java第十四周课程总结

    关于记事本代码上周已经写过了,这次把他粘过来了,如下: 记事本 package jishiben; import java.awt.event.ActionEvent; import java.awt ...

  8. ffmpeg修复时间戳

    ffmpeg -re -i e:/media/baifa.mp4 -filter_complex -hls_wrap -hls_time d:/demo/hls/cctv13/playlist.m3u ...

  9. delete trancate drop三者之间的区别

    简而言之: 删除效果及速度:Drop > truncate > delete 原因: delete,逐行删除,且用日志逐行记录用于回滚,会执行删除触发器:       ------> ...

  10. SpringMvc 支持一下类型Serlvet 原生的 API 作为目标方法的参数

    /** * 可以使用 Serlvet 原生的 API 作为目标方法的参数 具体支持以下类型 * * HttpServletRequest * HttpServletResponse * HttpSes ...