mysql—day01-mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL 数据库管理员:

MySQL 数据库管理员:


1.数据管理

增删改查


2.用户管理

grant all on . to all@'%' identified by '123';

1.权限最小化
2.root,运维用户ops,程序连库用户(只读用户,读写用户)

3.集群管理


4.数据备份、恢复

逻辑备份

物理备份

热备

冷备

温备

全备

增备

差异备份

5.监控

进程,端口

集群状态

主从复制 延时情况

SQL读写速率

slowlog


01 什么是数据?


数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。

在计算机系统中,数据以二进制信息单元0,1的形式表示。


数据的定义: 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。*


数据库管理系统分类


1.RDBMS 关系型数据库

典型代表产品:MySQL,Oracle,Mariadb,MSSQL(SQLserver)


2.NoSQL 非关系型数据库

典型代表产品:Redis,memcache,MongoDB,elasticsearch


MySQL版本选择的潜规则:


5.6:GA 6-12个月 小版本是偶数版

5.7:GA 6-12个月 小版本是偶数版 选择5.7.17版本以上的  (MGR:MySQL自带的高可用功能)

MySQL安装方式


  1. rpm、yum安装
    安装方便、安装速度快,无法定制
  2. 二进制
    不需要安装,解压即可使用,不能定制功能
  3. 编译安装
    3.1 可定制,安装慢
    3.2 四个步骤:
    3.2.1 解压(tar)
    3.2.2 生成(./configure)cmake
    3.2.3 编译(make)
    3.2.4 安装(make install)
    3.3  5.5版本之前:tar ./configure make make install
    3.4  5.5版本之后:cmake gmake
  4. 先编译,然后定制rpm包,制作yum仓库,然后yum安装
    4.1 简单,速度快,可定制,比较复杂,制作时间极长
  5. 企业中选择的安装方式
    5.1 中小型企业:以上方式都可以,运维偏向编译,dba偏向二进制 运维也偏向二进制
    5.2 大型企业:可以选择: 先编译然后定制rpm包,制作yum仓库,然后yum安装


编译安装:
1.解压 tar
2.生成 ./configure cmake gmake
3.编译 make
4.安装 make install

1)下载epel源
[root@db01  ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
2)安装依赖
[root@db01  ~]# yum install -y ncurses-devel libaio-devel autoconf cmake gcc gcc-c++ glibc 
[root@mysql  mysql-5.6.40]# useradd mysql -s /sbin/nologin -M 
3)解压MySQL源码包
[root@db01  ~]# tar xf mysql-5.6.40.tar.gz 
4)进入源码包目录
[root@db01  ~]# cd mysql-5.6.40/ 
5)创建目录
[root@db01  ~]# mkdir /application 
6)生成编译文件
[root@db01  mysql-5.6.40]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 
-DMYSQL_DATADIR=/application/mysql-5.6.40/data 
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DWITH_EXTRA_CHARSETS=all 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
-DWITH_ZLIB=bundled 
-DWITH_SSL=bundled 
-DENABLED_LOCAL_INFILE=1 
-DWITH_EMBEDDED_SERVER=1 
-DENABLE_DOWNLOADS=1 
-DWITH_DEBUG=0
7)编译
[root@db01  mysql-5.6.40]# make 
8)安装
[root@db01  mysql-5.6.40]#  make install 
9)创建mysql用户
[root@db01  mysql-5.6.40]# useradd mysql -s /sbin/nologin -M 
10)做软链接
[root@db01  mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql 
11)进入其他文件目录
[root@db01  mysql-5.6.40]#  cd /application/mysql/support-files 
12)拷贝MySQL配置文件
[root@db01  support-files]# cp my-default.cnf /etc/my.cnf 
cp: overwrite ‘/etc/my.cnf’? y
13)拷贝启动脚本
[root@db01  support-files]# cp mysql.server /etc/init.d/mysqld 
14)进入初始化目录
[root@db01  support-files]# cd /application/mysql/scripts 
15)初始化MySQL
[root@db01  scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data 
16)创建socket文件所在目录
[root@db01  scripts]# mkdir /application/mysql-5.6.40/tmp 
17)授权MySQL服务目录
[root@db01  scripts]# chown -R mysql.mysql /application/mysql* 
18)添加环境变量
[root@db01  scripts]# vim /etc/profile.d/mysql.sh 
export PATH="/application/mysql/bin:$PATH"
19)加载环境变量
[root@db01  scripts]# source /etc/profile 
20)启动MySQL
[root@db01  scripts]# /etc/init.d/mysqld start 
21
/etc/init.d/mysqld stop
21 用systemctl启动
[root@db01  ~]# vim /usr/lib/systemd/system/mysqld.service 
加入
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

MySQL二进制安装步骤:

1)解压二进制包
[root@db02  ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 
2)创建MySQL安装目录
[root@db02  ~]# mkdir /application 
3)移动MySQL程序到安装目录下
[root@db02  ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.40 
4)做软链接
[root@db02  ~]# ln -s /application/mysql-5.6.40 /application/mysql 
5)进入其他文件目录
[root@db02  ~]# cd /application/mysql/support-files 
6)拷贝配置文件
[root@db02  support-files]# cp my-default.cnf /etc/my.cnf 
cp: overwrite ‘/etc/my.cnf’? y
7)拷贝启动脚本
[root@db02  support-files]# cp mysql.server /etc/init.d/mysqld 
8)进入初始化目录
[root@db02  support-files]# cd ../scripts/ 
9)创建mysql用户
[root@db02  scripts]# useradd mysql -s /sbin/nologin -M 
10)安装初始化依赖
[root@db02  scripts]# yum install -y autoconf libaio-devel 
11)初始化
[root@db02  scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data 
12)启动MySQL
[root@db02  scripts]# /etc/init.d/mysqld start 
[root@db02  scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe 
13)添加环境变量
[root@db02  scripts]# vim /etc/profile.d/mysql.sh 
export PATH="/application/mysql/bin:$PATH"
给MySQL的root用户设置密码
[root@db02  scripts]# mysqladmin -uroot -p password '123' 
连接MySQL
[root@db01  ~]# mysql -uroot -p123 
查看MySQL中所有用户
mysql> select user,host from mysql.user;
删除用户
mysql> drop user root@'db01';
mysql> drop user root@'::1';
mysql> drop user ''@'db01';
mysql> drop user ''@'localhost';
mysql> drop user root@'localhost';
mysql> drop user root@'127.0.0.1';


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 关系型数据库 MySQL
【MySQL技术内幕】1-MySQL体系结构和存储引擎
【MySQL技术内幕】1-MySQL体系结构和存储引擎
57 1
|
SQL 关系型数据库 MySQL
MySQL多数据源笔记1-MySQL主从复制
1.为什么要做主从复制? 1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
1480 0
|
25天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
11天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
88 42
|
2天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
41 25
|
29天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
247 0
|
2月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
73 3
|
2月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
123 3
|
2月前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
116 2

推荐镜像

更多