首页 > 数据库 >第十九天:Mysql基础入门

第十九天:Mysql基础入门

时间:2024-02-11 23:01:09浏览次数:30  
标签:入门 etc -- Mysql 第十九 mysqld mysql 3306 data

一、关系型数据库基础

1、数据的分类

  结构化的数据      非结构化的数据    半结构化数据

2、关系型数据库 RDBMS

 (1)常用关系数据库

   MySQL: MySQL, MariaDB, Percona Server

  PostgreSQL: 简称为pgsql,EnterpriseDB   Oracle   MSSQL Server   DB2 3、数据库的正规化分析

 (1)第一范式

无重复的列,每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有 多个值或者不能有重复的属性,确保每一列的原子性。除去同类型的字段,就是无重复的列

(2)第二范式

第二范式必须先满足第一范式,属性完全依赖于主键,要求表中的每个行必须可以被唯一地区分,通常 为表加上每行的唯一标识主键PK,非PK的字段需要与整个PK有直接相关性,即非PK的字段不能依赖于部 分主键

(3)第三范式

满足第三范式必须先满足第二范式属性,非主键属性不依赖于其它非主键属性。第三范式要求一个数据 表中不包含已在其它表中已包含的非主关键字信息,非PK的字段间不能有从属关系 

二、安装MySQL

 1、mysql三大分支

  MySQL         https://www.mysql.com/   Mariadb      http://mariadb.org/   Percona Server  https://www.percona.com 官方文档:   https://dev.mysql.com/doc/   https://mariadb.com/kb/en/     https://www.percona.com/software/mysql-database/percona-server 2、安装方式   程序包管理器管理的程序包   源代码编译安装   二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用 3、RPM包安装MySQL

   CentOS 安装光盘

    项目官方:https://downloads.mariadb.org/mariadb/repositories/     国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/         https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/   CentOS 8:安装光盘直接提供     mysql-server:8.0     mariadb-server : 10.3   CentOS 7:安装光盘直接提供     mariadb-server:5.5 服务器包     mariadb 客户端工具包 4、初始化脚本提高安全性  5.6版本 运行脚本:mysql_secure_installation   设置数据库管理员root口令   禁止root远程登录   删除anonymous用户帐号   删除test数据库 三、MySQL 组成和常用工具 1、客户端程序 mysql: 基于mysql协议交互式或非交互式的CLI工具 mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成 insert等写操作语句保存文本文件中 mysqladmin:基于mysql协议管理mysqld mysqlimport:数据导入工具 MyISAM存储引擎的管理工具:   myisamchk:检查MyISAM库   myisampack:打包MyISAM表,只读 2、服务器端程序 mysqld_safe mysqld mysqld_multi 多实例 ,示例:mysqld_multi --example 3、用户账号 mysql用户账号由两部分组成:   'USERNAME'@'HOST'   wang@'10.0.0.100'   wang@'10.0.0.%'   wang@'%' 4、mysql命令使用格式 mysql [OPTIONS] [database]

 5、服务器端配置文件

 

四、通用二进制格式安装 MySQL8.0 

1、安装相关包

yum  -y install libaio numactl-libs ncurses-compat-libs

2、创建用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

3、准备程序文件

wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.31-linuxglibc2.12-x86_64.tar.gz
tar xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local/
ln -s mysql-5.7.31-linux-glibc2.12-x86_64/ mysql
chown -R root.root /usr/local/mysql/

4、准备环境变量

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

5、准备配置文件

cp /etc/my.cnf{,.bak}
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock        
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock

6、初始化数据库文件并提取root密码

#/data/mysql   会自动生成,但是/data/必须事先存在
mkdir -pv /data/mysql

7、密码

 生成随机密码

mysqld --initialize --user=mysql --datadir=/data/mysql
grep password /data/mysql/mysql.log

  生成空密码

mysqld --initialize-insecure --user=mysql --datadir=/data/mysql

8、准备服务脚本和启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

9、修改口令

#修改前面生成的随机密码为指定密码
mysqladmin -uroot -p'LufavlMka6,!'   password magedu
#修改前面生成的空密码为指定密码
mysqladmin -uroot   password magedu

五、基于DOCKER容器创建MYSQL

#docker run --name mysql -d -p 3306:3306 -e 
MYSQL_ROOT_PASSWORD=123456 mysql:5.7.30

#mysql -uroot -p123456 -h127.0.0.1

 

六、MYSQL多实例安装

1、多实例常见的配置方案

  单一的配置文件、单一启动程序多实例部署方式   多配置文件、多启动程序部署方式 2、安装mariadb/mysql      
yum -y install mariadb-server

3、准备三个实例的目录

mkdir -pv  /mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}

chown -R mysql.mysql /mysql

tree -d /mysql/

4、生成数据库文件

mysql_install_db --user=mysql --datadir=/mysql/3306/data
mysql_install_db --user=mysql --datadir=/mysql/3307/data
mysql_install_db --user=mysql --datadir=/mysql/3308/data

5、准备配置文件

#vim /mysql/3306/etc/my.cnf

[mysqld]
port=3306
datadir=/mysql/3306/data
socket=/mysql/3306/socket/mysql.sock
log-error=/mysql/3306/log/mysql.log
pid-file=/mysql/3306/pid/mysql.pid

#重复上面步骤设置3307,3308 [root@centos8 ~]#sed 's/3306/3307/' /mysql/3306/etc/my.cnf > /mysql/3307/etc/my.cnf [root@centos8 ~]#sed 's/3306/3308/' /mysql/3306/etc/my.cnf > /mysql/3308/etc/my.cnf

6、准备启动脚本

vim /mysql/3306/bin/mysqld
略..
#增加执行权限 chmod +x /mysql/3306/bin/mysqld

7、启动、关闭服务

/mysql/3306/bin/mysqld start

/mysql/3308/bin/mysqld stop

8、登录实例

mysql -h127.0.0.1 -P3308

mysql -uroot -S /mysqldb/3306/socket/mysql.sock

9、修改root密码

mysqladmin -uroot -S /mysql/3306/socket/mysql.sock password '***' 10、开机启动
vi /etc/rc.d/rc.local  

#在最后一行加下面内容
for i in {3306..3308};do /mysql/$i/bin/mysqld start;done
[root@centos8 ~]#chmod +x /etc/rc.d/rc.local

 

标签:入门,etc,--,Mysql,第十九,mysqld,mysql,3306,data
From: https://www.cnblogs.com/dujy/p/18012790

相关文章

  • Linux Bash Shell 脚本入门(2)——GNU
    ​LinuxBashShell脚本入门(2)——GNU目录LinuxBashShell脚本入门(2)——GNUGNU与LinuxGNUGNU的组成ShellGNOME桌面环境XWindow软件GNOME可点击内容,大部分来自维基百科,可以点击了解详情。GNU与LinuxGNUGNU操作系统起源于GNU计划,由理查德·斯托曼在麻省理工学院人工智能......
  • 十四、MySQL与Django之Model基础
    数据库Django默认支持sqlite、mysql、oracel、postgresql等数据库1、sqlitedjango默认使用sqlite数据库Django.db.backends.sqlite3DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':os.path.join(BA......
  • 小白入门clang_format
    如果没时间研究折腾,可以接受这样↓的风格 那么安装这个↓,默认在代码界面按alt+shift+f即可 ========================================================== 如果你想稍微个性化一点在上面的基础上,做以下配置 什么意思自己看上面↑截图的文字介绍 如何回到代码界面按a......
  • 【机器学习】机器学习简单入门
    ......
  • Linux Bash Shell 脚本入门(1)——Linux内核功能介绍
    ​LinuxBashShell脚本入门(1)——Linux内核功能介绍目录LinuxBashShell脚本入门(1)——Linux内核功能介绍前言Linux初探Linux系统架构linux内核系统内存管理软件程序管理硬件设备管理文件管理系统前言本文为《Linux命令行与shell脚本编程大全》第四版的读书笔记,突发奇想想......
  • Netty入门实践-模拟IM聊天
    我们使用的框架几乎都有网络通信的模块,比如常见的Dubbo、RocketMQ、ElasticSearch等。它们的网络通信模块使用Netty实现,之所以选择Netty,有2个主要原因:Netty封装了复杂的JDK的NIO操作,还封装了各种复杂的异常场景,丰富的API使得在使用上也非常方便,几行代码就可以实现高性能的网络......
  • Elasticsearch实现Mysql的Like效果
    在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。1、客户的诉求在ES中,影响搜索结果的因素多种多样,包括分词器、Match搜索、Term搜......
  • Flink CDC引起的Mysql元数据锁
    记一次FlinkCDC引起的Mysql元数据锁事故,总结经验教训。后续在编写FlinkCDC任务时,要处理好异常,避免产生长时间的元数据锁。同时出现生产问题时要及时排查,不能抱有侥幸心理。1、事件经过某天上午,收到系统的告警信息,告警提示:同步Mysql的某张表数据到Elasticsearch异常,提示连不......
  • 一次打通FlinkCDC同步Mysql数据
    业务痛点离开了业务谈技术都是耍流氓。我们来聊聊基于业务的痛点,衍生出来的多种数据同步方案。业务中常见的需要数据同步的场景1、多个库的表合并到一张表。不同的业务线或者微服务在不同的数据库里开发,但是此时有些报表需要将多个库的类似的数据合并后做查询统计。或者,某些历......
  • 10分钟入门Flink--架构和原理
    相信你读完上一节的《10分钟入门Flink--了解Flink》对Flink已经有初步了解了。这是继第一节之后的Flink入门系列的第二篇,本篇主要内容是是:了解Flink运行模式、Flink调度原理、Flink分区、Flink安装。1、运行模式Flink有多种运行模式,可以运行在一台机器上,称为本地(单机)模式;也可以......