数据库MySQL安装部署
2023-06-13 09:18:50 时间
MySQL 大纲介绍
官方定义的MySQL DBA工作内容
(1)运维DBA 初级:各版本、各平台安装搭建、升级 中级:体系结构原理、基础管理(启动关闭、初始化配置文件管理、多实例管理、用户权限管理、基本SQL(增删改查))、 日志管理、备份与恢复、主从复制(构建、状态监控) 高级:高可用(MGR、InnoDB Cluster)、高性能(优化) (2)开发DBA 懂至少一门开发语言 :JAVA、Python 基本SQL语句深入学习(增删改查)、数据库结构设计(建模) 高级SQL:存储过程、函数、触发器、视图、事件
MySQL 介绍和安装
什么是数据?
数据:文字、图片、视频。。。人类认知的数据表现方式
计算机:二进制、16进制的机器语言
基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。
哪些数据是适合存储到数据库的呢?
重要性比较高的
关系较复杂的数据
什么是数据库管理系统(DBMS)?
RDBMS: 关系型数据库管理系统 比较适合于,安全级别要求高的数据以及关系较复杂的数据
NoSQL:非关系型数据库管理系统 适合于高性能存取数据,一般是配合RDBMS进行使用的 针对大数据处理分析,分布式架构更加擅长
数据库管理系统种类
RDBMS :
MySQL 、Oracle、MSSQL(SQL Server)、PG
NoSQL:Not Only SQL
键-值(key-value):Redis, memcached
文档(document):Mongodb
MYSQL二进制安装方法
MySQL二进制安装
### 上传软件到此目录
mkdir -p /server/tools/
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
### 创建软件目录
mkdir /app
### 解压并改名为mysql
mv mysql-5.7.33-linux-glibc2.12-x86_64 /app/mysql
ls -l /app/mysql/
total 36
drwxr-xr-x 2 root root 4096 Mar 4 14:55 bin
-rw-r--r-- 1 7161 31415 17987 Sep 13 2017 COPYING
drwxr-xr-x 2 root root 55 Mar 4 14:55 docs
drwxr-xr-x 3 root root 4096 Mar 4 14:55 include
drwxr-xr-x 5 root root 229 Mar 4 14:55 lib
drwxr-xr-x 4 root root 30 Mar 4 14:55 man
-rw-r--r-- 1 7161 31415 2478 Sep 13 2017 README
drwxr-xr-x 28 root root 4096 Mar 4 14:55 share
drwxr-xr-x 2 root root 90 Mar 4 14:55 support-files
### 修改环境变量
vim /etc/profile
export PATH=/app/mysql/bin:$PATH
source /etc/profile
### 建立mysql用户和组(如果已有可忽略) useradd mysql
### 创建相关目录并修改权限
mkdir /data/mysql -p
chown -R mysql.mysql /app/*
chown -R mysql.mysql /data/*
初始化数据(建库)
### 方法一
# 初始化数据,初始化管理员的临时密码
yum -y install libaio-devel
mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql
新特性重要说明:
5.7版本开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.密码过期时间180天
### 方法二
\rm -rf /data/mysql/*
mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql
注释:5.6初始化的区别
/app/mysql/scripts/mysql_install_db --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql
书写默认配置文件
vim /etc/my.cnf
## 服务器端配置
[mysqld]
##用户
user=mysql
## 软件安装路径
basedir=/app/mysql
## 数据存放路径
datadir=/data/mysql
## 服务器id号
server_id=6
## 端口号
port=3306
## 错误日志存放
log-error=/app/mysql/logs/error.log
## binlog日志 开启MySQL主从和恢复使用
log-bin=/app/mysql/mysql-bin/mysql-bin
## socket文件路径
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
## 数据库提示信息
prompt=3306 [\\d]>
启动MySQL默认会加载配置文件:
etc/my.cnf—>/etc/mysql/my.cnf—>/usr/etc/my.cnf—> ~/.my.cnf 如果冲突,以最后一个读取的为准。 [mysqld]组中包括了mysqld服务启动时的初始化参数 [client]组中包含着客户端工具程序可以读取的参数,此外还有其他针对各个客户端软件的特定参数组等
配置启动脚本
SysVinit管理MySQL
cd /app/mysql/support-files
./mysql.server start
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemd管理MySQL
vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
简单管理
### 设置root用户登录密码
mysqladmin -uroot -p password 123
### 5.6版本:
select user,password,host from mysql.user;
### 5.7 中用户基本信息
select user,authentication_string,host from mysql.user;
desc mysql.user;
小结
- 版本 (主流版本的GA时间了解一下)5.6 5.7 (1) 初始化方式变了 mysql_install_db mysqld –initialize-insecure (2) 用户安全 12位 180 4种复杂度 (3)密码字段 authentication_strings
- 建库(初始化数据库)mysqld –intialize-insecure –user=mysql –basedir=/app/mysql –datadir=/data/mysql
- 简易的配制文件/etc/my.cnf user basedir datadir server_id port socket
- 管理员密码mysqladmin -uroot -p password xx
相关文章
- 深入浅出:二级MySQL数据库程序设计(二级mysql数据库程序设计)
- MySQL Status Ndb_api_scan_batch_count 数据库状态作用意思及如何正确
- 调试MySQL函数:开启你的程序之旅(mysql调试函数)
- 快速安装Python MySQL模块(python安装mysql模块)
- 一键安装Mysql,快速简便搞定!(mysql一键安装包)
- MySQL分表技术之统计分析(mysql分表统计)
- 备份MySQL:恢复历史上的数据备份(mysql历史数据)
- MySQL数据库出现错误:解决方案(mysql数据库错误)
- Trim函数MySQL去除空白字符(mysql去空格函数)
- 福利来了:Yum 升级 MySQL,拥有更多功能(yum升级mysql)
- 轻松实现MySQL读写分离,提升数据库效率!(mysql读写分离实现)
- 提升能力,精通MySQL数据库开发培训(mysql数据库开发培训)
- MySQL数据库优化:提升性能的关键(mysql数据库优化设计)
- MySQL自学入门:学习创建数据库(mysql自学教程)
- MySQL数据库:编码优化实践(mysql数据库编码)
- MySQL连接语句怎么写?25字MySQL连接语句教程(mysql数据库链接语句)
- 燕十八分享MySQL笔记,助力数据库管理。(燕十八mysql笔记)
- MySQL表同步之跨库之路(mysql表同步不同库)
- 调试困难C语言无法连接MySQL数据库(c mysql 连不上)
- c语言操作MySQL数据库的快速入门(c mysql访问库)
- MySQL中的AND和OR使用逻辑运算符优化查询语句(mysql中and与or)
- MySQL转义让CI更安全(ci mysql 转义)
- 使用Celery和MySQL实现异步任务自动化(celery mysql)
- MySQL ADO编程数据库操作的新方法(c mysql ado)
- 用cmd窗口在MySQL中建立表格(cmd窗口mysql建表)
- 如何使用bat快速启动MySQL(bat怎么启动mysql)
- 库在命令行中查看MySQL数据库(cmd显示mysql数据)
- 6步快速搞懂MySQL数据库管理(6步看懂mysql)
- MySQL数据库三张表同时增加数据(mysql三表增加)
- MySQL解析万能类数据库管理系统(mysql万能类)