当前位置: 首页 > news >正文

seo网站编辑是做什么的建筑人才网官

seo网站编辑是做什么的,建筑人才网官,做鞋用什么网站好,外国网站 游戏设定图《从菜鸟到大师之路 MySQL 篇》 数据库是什么 数据库管理系统#xff0c;简称为DBMS#xff08;Database Management System#xff09;#xff0c;是用来存储数据的管理系统。 DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 实现读取自动化需要编程…《从菜鸟到大师之路 MySQL 篇》 数据库是什么 数据库管理系统简称为DBMSDatabase Management System是用来存储数据的管理系统。 DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 实现读取自动化需要编程技术能力 无法应对突发事故 DBMS 的种类 层次性数据库 最古老的数据库之一因为突出的缺点所以很少使用了 关系型数据库 采用行列二维表结构来管理数据库类似Excel的结构使用专用的SQL语言对数据进行控制。 关系数据库管理系统的常见种类 Oracle 甲骨文 SQL Servce 微软 DB2 IBM PostgreSQL 开源 MySQL 开源 面向对象的数据库 XML数据库 键值存储系统 DB2 Redis MongoDB SQL 语句及其种类 DDL数据定义语言 create 创建数据库或者表等对象 drop 删除数据库或者表等对象 alter 修改数据库或者表等对象的结构 DML数据操作语言 select 查询表中数据 insert 向表中插入数据 update 更新表中数据 delete 删除表中数据 DCL数据控制语言 commit 决定对数据库中的数据进行变更 rollback 取消对数据库中的数据进行变更 grant 赋予用户操作权限 revoke 取消用户的操作权限 SQL 的基本书写规则 SQL 语句要以结尾 关键字不区分大小写但是表中数据区分大小写 关键字大写 表名的首字母大写 列明等小写 常数的书写方式是固定的 遇到字符串、日期等类型需要用到’’ 单词间需要使用空格分割 命名规则 数据库和表的名称可以使用英文、数据以及下划线 名称必须以英文作为开头 名称不能重复 掌握 SQL 这些核心知识点出去吹牛逼再也不担心了 数据类型 integer 数字型但是不能存放小数 char 定长字符串类型指定最大长度不足使用空格填充 varchar 可变长度字符串类型指定最大长度但是不足不填充 data 存储日期年/月/日 以上内容是对通用数据库以及sql语句相关的知识点介绍本文不做过多的赘述本文主要针对关系型数据库MySQL 来进行各方面的知识点总结。 MySQL 数据库简介 MySQL 是最流行的关系型数据库管理系统在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System关系数据库管理系统)应用软件之一。 MySQL 是一个关系型数据库管理系统由瑞典 MySQL AB 公司开发目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统关联数据库将数据保存在不同的表中而不是将所有数据放在一个大仓库内这样就增加了速度并提高了灵活性。 MySQL 是开源的目前隶属于 Oracle 旗下产品。 MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 MySQL 使用标准的 SQL 数据语言形式。 MySQL 可以运行于多个系统上并且支持多种语言。这些编程语言包括 C、C、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。 MySQL 对PHP有很好的支持PHP 是目前最流行的 Web 开发语言。 MySQL 支持大型数据库支持 5000 万条记录的数据仓库32 位系统表文件最大可支持 4GB64 位系统支持最大的表文件为8TB。 MySQL 是可以定制的采用了 GPL 协议你可以修改源码来开发自己的 MySQL 系统。 在日常工作与学习中无论是开发、运维、还是测试对于数据库的学习是不可避免的同时也是日常工作的必备技术之一。在互联网公司开源产品线比较多互联网企业所用的数据库占比较重的还是MySQL。 更多关于MySQL数据库的介绍有兴趣的读者可以参考官方网站的文档和这篇文章可能是全网最好的MySQL重要知识点关于MySQL架构的介绍可以参考MySQL 架构总览-查询执行流程-SQL 解析顺序 MySQL 安装 MySQL 8正式版8.0.11已发布官方表示MySQL8要比MySQL 5.7快2倍还带来了大量的改进和更快的性能到底谁最牛呢请看MySQL 5.7 vs 8.0哪个性能更牛 详细的安装步骤请参阅CentOS 下 MySQL 8.0 安装部署超详细介绍几个 8.0 在关系数据库方面的主要新特性MySQL 8.0 的 5 个新特性太实用了 MySQL基础入门操作 Windows服务 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath mysqld_bin_path(注意等号与值之间有空格)连接与断开服务器 mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息数据库操作 -- 查看当前数据库 SELECT DATABASE();-- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version();-- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项数据库选项 CHARACTER SET charset_name COLLATE collation_name-- 查看已有库SHOW DATABASES[ LIKE PATTERN]-- 查看当前库信息SHOW CREATE DATABASE 数据库名-- 修改库的选项信息ALTER DATABASE 库名 选项信息-- 删除库DROP DATABASE[ IF EXISTS] 数据库名同时删除该数据库相关的目录及其目录内容表的操作 -- 创建表 CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 )[ 表选项] 每个字段必须有数据类型 最后一个字段后不能有逗号 TEMPORARY 临时表会话结束时表自动消失 对于字段的定义字段名 数据类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT string] -- 表选项-- 字符集CHARSET charset_name如果表没有设定则使用数据库字符集 -- 存储引擎ENGINE engine_name表在管理数据时采用的不同的数据结构结构不同会导致处理方式、提供的特性操作等不同常见的引擎InnoDB MyISAM Memory/Heap BDB Merge Example CSV MaxDB Archive不同的引擎在保存表的结构和数据时采用不同的方式MyISAM表文件含义.frm表定义.MYD表数据.MYI表索引InnoDB表文件含义.frm表定义表空间数据和日志文件 SHOW ENGINES -- 显示存储引擎的状态信息SHOW ENGINE 引擎名 {LOGS|STATUS} -- 显示存储引擎的日志或状态信息-- 自增起始数AUTO_INCREMENT 行数 -- 数据文件目录DATA DIRECTORY 目录-- 索引文件目录INDEX DIRECTORY 目录-- 表注释COMMENT string-- 分区选项PARTITION BY ... (详细见手册)-- 查看所有表 SHOW TABLES[ LIKE pattern] SHOW TABLES FROM 表名-- 查看表机构 SHOW CREATE TABLE 表名 信息更详细DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE PATTERN]SHOW TABLE STATUS [FROM db_name] [LIKE pattern]-- 修改表-- 修改表本身的选项ALTER TABLE 表名 表的选项eg: ALTER TABLE 表名 ENGINEMYISAM; -- 对表进行重命名RENAME TABLE 原表名 TO 新表名RENAME TABLE 原表名 TO 库名.表名 可将表移动到另一个数据库 -- RENAME可以交换两个表名-- 修改表的字段机构13.1.2. ALTER TABLE语法ALTER TABLE 表名 操作名 -- 操作名ADD[ COLUMN] 字段定义 -- 增加字段AFTER 字段名 -- 表示增加在该字段名后面FIRST -- 表示增加在第一个ADD PRIMARY KEY(字段名) -- 创建主键ADD UNIQUE [索引名] (字段名)-- 创建唯一索引ADD INDEX [索引名] (字段名) -- 创建普通索引DROP[ COLUMN] 字段名 -- 删除字段MODIFY[ COLUMN] 字段名 字段属性 -- 支持对字段属性进行修改不能修改字段名(所有原有属性也需写上)CHANGE[ COLUMN] 原字段名 新字段名 字段属性 -- 支持对字段名修改DROP PRIMARY KEY -- 删除主键(删除主键前需删除其AUTO_INCREMENT属性)DROP INDEX 索引名 -- 删除索引DROP FOREIGN KEY 外键 -- 删除外键 -- 删除表DROP TABLE[ IF EXISTS] 表名 ...-- 清空表数据TRUNCATE [TABLE] 表名-- 复制表结构CREATE TABLE 表名 LIKE 要复制的表名-- 复制表结构和数据CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名-- 检查表是否有错误CHECK TABLE tbl_name [, tbl_name] ... [option] ...-- 优化表OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...-- 修复表REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]-- 分析表ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...更多相关的操作基础知识点请参阅以下文章 MySQL数据库入门———常用基础命令 1047 行 MySQL 详细学习笔记值得学习与收藏 MySQL基础入门之常用命令介绍 MySQL 多实例配置 MySQL数据库入门——多实例配置 MySQL 主从同步复制 复制概述 Mysql内建的复制功能是构建大型高性能应用程序的基础。将Mysql的数据分布到多个系统上去这种分布的机制是通过将Mysql的某一台主机的数据复制到其它主机slaves上并重新执行一遍来实现的。复制过程中一个服务器充当主服务器而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新然后封锁并等待主服务器通知新的更新。 请注意当你进行复制时所有对复制中的表的更新必须在主服务器上进行。否则你必须要小心以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。 mysql支持的复制类型 L默认采用基于语句的复制效率比较高。一旦发现没法精确复制时 会自动选着基于行的复制。 l5.0开始支持 采用基于行的复制。 复制解决的问题 MySQL复制技术有以下一些特点 数据分布 (Data distribution ) 负载平衡(load balancing) 备份(Backups) 高可用性和容错行 High availability and failover 复制如何工作 整体上来说复制有3个步骤 master将改变记录到二进制日志(binary log)中这些记录叫做二进制日志事件binary log events slave将master的binary log events拷贝到它的中继日志(relay log) slave重做中继日志中的事件将改变反映它自己的数据。 更多相关的更深入的介绍参考Mysql主从架构的复制原理及配置详解 MySQL 复制有两种方法 传统方式基于主库的bin-log将日志事件和事件位置复制到从库从库再加以 应用来达到主从同步的目的。 Gtid方式global transaction identifiers是基于事务来复制数据因此也就不 依赖日志文件位置同时又能更好的保证主从库数据一致性。 MySQL数据库主从同步实战过程 基于 Gtid 的 MySQL 主从同步实践 MySQL 主从同步架构中你不知道的“坑”上 MySQL 主从同步架构中你不知道的“坑”下 MySQL复制有多种类型 异步复制一个主库一个或多个从库数据异步同步到从库。 同步复制在MySQL Cluster中特有的复制方式。 半同步复制在异步复制的基础上确保任何一个主库上的事务在提交之前至 少有一个从库已经收到该事务并日志记录下来。 延迟复制在异步复制的基础上人为设定主库和从库的数据同步延迟时间 即保证数据延迟至少是这个参数。 MySQL主从复制延迟解决方案高可用数据库主从复制延时的解决方案 MySQL 数据备份与恢复 数据备份多种方式 物理备份是指通过拷贝数据库文件的方式完成备份这种备份方式适用于数据库很大数据重要且需要快速恢复的数据库 逻辑备份是指通过备份数据库的逻辑结构create database/table语句)和数据内容insert语句或者文本文件的方式完成备份。这种备份方式适用于数据库不是很大或者你需要对导出的文件做一定的修改又或者是希望在另外的不同类型服务器上重新建立此数据库的情况 通常情况下物理备份的速度要快于逻辑备份另外物理备份的备份和恢复粒度范围为整个数据库或者是单个文件。对单表是否有恢复能力取决于存储引擎比如在MyISAM存储引擎下每个表对应了独立的文件可以单独恢复但对于InnoDB存储引擎表来说可能每个表示对应了独立的文件也可能表使用了共享数据文件 物理备份通常要求在数据库关闭的情况下执行但如果是在数据库运行情况下执行则要求备份期间数据库不能修改 逻辑备份的速度要慢于物理备份是因为逻辑备份需要访问数据库并将内容转化成逻辑备份需要的格式通常输出的备份文件大小也要比物理备份大另外逻辑备份也不包含数据库的配置文件和日志文件内容备份和恢复的粒度可以是所有数据库也可以是单个数据库也可以是单个表逻辑备份需要再数据库运行的状态下执行它的执行工具可以是mysqldump或者是select … into outfile两种方式 生产数据库备份方案高逼格企业级MySQL数据库备份方案 MySQL数据库物理备份方式Xtrabackup实现数据的备份与恢复 MySQL 定时备份MySQL 数据库定时备份的几种方式非常全面 MySQL 高可用架构设计与实战 先来了解一下MySQL高可用架构简介浅谈MySQL集群高可用架构 MySQL高可用方案MySQL 同步复制及高可用方案总结 官方也提供一种高可用方案官方工具MySQL Router 高可用原理与实战 MHA MHAMaster High Availability目前在MySQL高可用方面是一个相对成熟的解决方案该软件由两部分组成MHA Manager管理节点和MHA Node数据节点。 MHA Manager: 可以单独部署在一台独立的机器上管理多个master-slave集群也可以部署在一台slave节点上。 MHA Node: 行在每台MySQL服务器上。 MHA Manager会定时探测集群中的master节点当master出现故障时它可以自动将最新数据的slave提升为新的master然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 MHA高可用方案实战MySQL集群高可用架构之MHA MGR Mysql Group Replication(MGR)是从5.7.17版本开始发布的一个全新的高可用和高扩张的MySQL集群服务。 高一致性基于原生复制及paxos协议的组复制技术以插件方式提供一致数据安全保证 高容错性大多数服务正常就可继续工作自动不同节点检测资源征用冲突按顺序优先处理内置动防脑裂机制 高扩展性自动添加移除节点并更新组信息 高灵活性单主模式和多主模式。单主模式自动选主所有更新操作在主进行多主模式所有server同时更新。 MySQL 数据库读写分离高可用 海量数据的存储和访问成为了系统设计的瓶颈问题日益增长的业务数据无疑对数据库造成了相当大的负载同时对于系统的稳定性和扩展性提出很高的要求。随着时间和业务的发展数据库中的表会越来越多表中的数据量也会越来越大相应地数据操作的开销也会越来越大另外无论怎样升级硬件资源单台服务器的资源CPU、磁盘、内存、网络IO、事务数、连接数总是有限的最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。分表、分库和读写分离可以有效地减小单台数据库的压力。 MySQL读写分离高可用架构实战案例 ProxySQLMysql实现数据库读写分离实战 MysqlMycat实现数据库主从同步与读写分离 MySQL性能优化 史上最全的MySQL高性能优化实战总结 MySQL索引原理MySQL 的索引是什么怎么优化 顾名思义B-tree索引使用B-tree的数据结构存储数据不同的存储引擎以不同的方式使用B-Tree索引比如MyISAM使用前缀压缩技术使得索引空间更小而InnoDB则按照原数据格式存储且MyISAM索引在索引中记录了对应数据的物理位置而InnoDB则在索引中记录了对应的主键数值。B-Tree通常意味着所有的值都是按顺序存储并且每个叶子页到根的距离相同。 B-Tree索引驱使存储引擎不再通过全表扫描获取数据而是从索引的根节点开始查找在根节点和中间节点都存放了指向下层节点的指针通过比较节点页的值和要查找值可以找到合适的指针进入下层子节点直到最下层的叶子节点最终的结果就是要么找到对应的值要么找不到对应的值。整个B-tree树的深度和表的大小直接相关。 全键值匹配和索引中的所有列都进行匹配比如查找姓名为zhang san出生于1982-1-1的人 匹配最左前缀和索引中的最左边的列进行匹配比如查找所有姓为zhang的人 匹配列前缀匹配索引最左边列的开头部分比如查找所有以z开头的姓名的人 匹配范围值匹配索引列的范围区域值比如查找姓在li和wang之间的人 精确匹配左边列并范围匹配右边的列比如查找所有姓为Zhang且名字以K开头的人 只访问索引的查询查询结果完全可以通过索引获得也叫做覆盖索引比如查找所有姓为zhang的人的姓名 MySQL 常用30种SQL查询语句优化方法| MySQL太慢试试这些诊断思路和工具 MySQL 性能优化的 9 种姿势面试再也不怕了 MySQL表分区介绍一文彻底搞懂MySQL分区 可以允许在⼀个表⾥存储更多的数据突破磁盘限制或者⽂件系统限制。 对于从表⾥将过期或历史的数据移除在表分区很容易实现只要将对应的分区移除即可 对某些查询和修改语句来说可以⾃动将数据范围缩⼩到⼀个或⼏个表分区上优化语句执⾏效率。⽽且可以通过显示指定表分区来执⾏语句⽐如 select * from temp partition(p1,p2) where store_id 5; 表分区是将⼀个表的数据按照⼀定的规则⽔平划分为不同的逻辑块并分别进⾏物理存储这个规则就叫做分区函数可以有不同的分区规则。 MySQL5.7版本可以通过show plugins语句查看当前MySQL是否⽀持表分区功能。 MySQL8.0版本移除了show plugins⾥对partition的显示但社区版本的表分区功能是默认开启的。 但当表中含有主键或唯⼀键时则每个被⽤作分区函数的字段必须是表中唯⼀键和主键的全部或⼀部分否则就⽆法创建分区表。 MySQL分库分表 能不分就不分1000万以内的表不建议分片通过合适的索引读写分离等方式可以很好的解决性能问题。 分片数量尽量少分片尽量均匀分布在多个DataHost上因为一个查询SQL跨分片越多则总体性能越差虽然要好于所有数据在一个分片的结果只在必要的时候进 行扩容增加分片数量。 分片规则需要慎重选择分片规则的选择需要考虑数据的增长模式数据的访 问模式分片关联性问题以及分片扩容问题最近的分片策略为范围分片枚举分片 一致性Hash分片这几种分片都有利于扩容。 尽量不要在一个事务中的SQL跨越多个分片分布式事务一直是个不好处理的问题。 查询条件尽量优化尽量避免Select * 的方式大量数据结果集下会消耗大量 带宽和CPU资源查询尽量避免返回大量结果集并且尽量为频繁使用的查询语句建立索引。 数据库分库分表概述数据库分库分表何时分怎样分 Mysql分库分表方案MySQL 分库分表方案总结的非常好 Mysql分库分表的思路解救 DBA—数据库分库分表思路及案例分析 MySQL性能监控 MySQL性能监控的指标大体可以分为以下4大类 查询吞吐量 查询延迟与错误 客户端连接与错误 缓冲池利用率 对于MySQL性能监控官方也提供了相关的服务插件MySQL-Percona下面简单介绍一下插件的安装 [rootdb01 ~]# yum -y install php php-mysql [rootdb01 ~]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm [rootdb01 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing... ################################# [100%] Updating / installing... 1:percona-zabbix-templates-1.1.8-1 ################################# [100%]Scripts are installed to /var/lib/zabbix/percona/scripts Templates are installed to /var/lib/zabbix/percona/templates最后可以配合其它监控工具来实现对MySQL的性能监控。 MySQL服务器配置插件 修改php脚本连接MySQL的monitorlocalhost用户 修改MySQL的sock文件路径 [rootdb01 ~]# sed -i 30c $mysql_user monitor; /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php [rootdb01 ~]# sed -i 31c $mysql_pass 123456; /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php [rootdb01 ~]# sed -i 33c $mysql_socket /tmp/mysql.sock; /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php测试是否可用 可以从MySQL中获取到监控值 [rootdb01 ~]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg gg:12# 确保当前文件的 属主 属组 是zabbix否则zabbix监控取值错误。 [rootdb01 ~]# ll -sh /tmp/localhost-mysql_cacti_stats.txt4.0K -rw-rw-r-- 1 zabbix zabbix 1.3K Dec 5 17:34 /tmp/localhost-mysql_cacti_stats.txt移动zabbix-agent配置文件到 /etc/zabbix/zabbix_agentd.d/目录[rootdb01 ~]# mv /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/[rootdb01 ~]# systemctl restart zabbix-agent.service导入并配置Zabbix模板与主机默认模板监控时间为 5分钟 当前测试修改为 30s 同时也要修改Zabbix模板时间 # 如果要修改监控获取值的时间不但要在zabbix面板修改取值时间bash脚本也要修改。[rootdb01 scripts]# sed -n /TIMEFLM/p /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shTIMEFLM\stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt\if [ \expr $TIMENOW - $TIMEFLM\ -gt 300 ]; then # 这个 300 代表 300s 同时也要修改。默认模板版本为2.0.9无法在4.0版本使用可以先从3.0版本导出然后再导入4.0版本 。 Zabbix自带模板监控MySQL服务 其实在实际生产过程中还是有相关的专业监控数据库的第三方开源软件的民工哥之前也写过相关的文章今天发出来供大家参考强大的开源企业级数据库监控利器Lepus MySQL 管理工具 MySQL 是最广泛使用和流行的开源数据库之一围绕它有许多工具可以让设计创建和管理数据库的过程变得更加容易和便捷。但是如何选择最适合自己需求的工具并不容易。这里为大家推荐10款MySQL的GUI工具它们对开发人员和DBA来说都是不错的解决方案。 很早之前民工哥就给大家介绍过一款开源的SQL管理工具自动补全、回滚介绍一款可视化 sql 诊断利器。 今天民工哥再给大家推荐一款SQL审核利器 MySQL 自动化运维工具 goinception。 可视化管理工具大家可以试试这个介绍一款免费好用的可视化数据库管理工具 俗话说工欲善其事必先利其器定期对你的MYSQL数据库进行一个体检是保证数据库安全运行的重要手段因为好的工具是使你的工作效率倍增 今天和大家分享几个mysql 优化的工具你可以使用它们对你的mysql进行一个体检生成awr报告让你从整体上把握你的数据库的性能情况。 性能优化诊断工具别小看这几个工具关键时能帮你快速解决数据库瓶颈 MySQL 常见错误代码说明 先给大家看几个实例的错误分析与解决方案。 1.ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/data/mysql/mysql.sock’ 问题分析可能是数据库没有启动或者是端口被防火墙禁止。 解决方法启动数据库或者防火墙开放数据库监听端口。 2.ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: NO) 问题分析密码不正确或者没有权限访问。 解决方法 1修改 my.cnf 主配置文件在[mysqld]下添加 skip-grant-tables重启数据库。最后修改密码命令如下 mysql use mysql; mysql update user set passwordpassword(123456) where userroot;再删除刚刚添加的 skip-grant-tables 参数再重启数据库使用新密码即可登录。 2重新授权命令如下: mysql grant all on *.* to rootmysql-server identified by 123456;3.客户端报 Too many connections 问题分析连接数超出 Mysql 的最大连接限制。 解决方法 1、在 my.cnf 配置文件里面增加连接数然后重启 MySQL 服务。max_connections 10000 2、临时修改最大连接数重启后不生效。需要在 my.cnf 里面修改配置文件下次重启生效。 set GLOBAL max_connections10000;4.Warning: World-writable config file ‘/etc/my.cnf’ is ignored ERROR! MySQL is running but PID file could not be found 问题分析MySQL 的配置文件/etc/my.cnf 权限不对。 解决方法 chmod 644 /et/my.cnf5.InnoDB: Error: page 14178 log sequence number 29455369832 InnoDB: is in the future! Current system log sequence number 29455369832 问题分析innodb 数据文件损坏。 解决方法修改 my.cnf 配置文件在[mysqld]下添加 innodb_force_recovery4, 启动数据库后备份数据文件然后去掉该参数利用备份文件恢复数据。 6.从库的 Slave_IO_Running 为 NO 问题分析主库和从库的 server-id 值一样. 解决方法修改从库的 server-id 的值修改为和主库不一样比主库低。修改完后重启再同步即可 7.从库的 Slave_IO_Running 为 NO问题 问题分析造成从库线程为 NO 的原因会有很多主要原因是主键冲突或者主库删除或更新数据 从库找不到记录数据被修改导致。通常状态码报错有 1007、1032、1062、1452 等。 解决方法一 mysql stop slave;mysql set GLOBAL SQL_SLAVE_SKIP_COUNTER1;mysql start slave;解决方法二设置用户权限设置从库只读权限 set global read_onlytrue; 8.Error initializing relay log position: I/O error reading the header from the binary log分析问题从库的中继日志 relay-bin 损坏. 解决方法手工修复重新找到同步的 binlog 和 pos 点然后重新同步即可。 mysql CHANGE MASTER TO MASTER_LOG_FILEmysql-bin.xxx,MASTER_LOG_POSxxx;维护过MySQL的运维或DBA都知道经常会遇到的一些错误信息中有一些类似10xx的代码。 Replicate_Wild_Ignore_Table:Last_Errno: 1032Last_Error: Could not execute Update_rows event on table xuanzhi.test; Cant find record in test, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the events master log mysql-bin.000004, end_log_pos 3704但是如果不深究或者之前遇到过还真不太清楚这些代码具体的含义是什么这也给我们排错造成了一定的阻碍。 所以今天民工哥就把主从同步过程中一些常见的错误代码它的具体说明给大家整理出来了:建议收藏备查MySQL 常见错误代码说明 MySQL 开发规范与使用技巧 命名规范 1.库名、表名、字段名必须使用小写字母并采用下划线分割。 a)MySQL有配置参数lower_case_table_names不可动态更改Linux系统默认为 0即库表名以实际情况存储大小写敏感。如果是1以小写存储大小写不敏感。如果是2以实际情况存储但以小写比较。 b)如果大小写混合使用可能存在abcAbcABC等多个表共存容易导致混乱。 c)字段名显示区分大小写但实际使⽤用不区分即不可以建立两个名字一样但大小写不一样的字段。 d)为了统一规范 库名、表名、字段名使用小写字母。 2.库名、表名、字段名禁止超过32个字符。 库名、表名、字段名支持最多64个字符但为了统一规范、易于辨识以及减少传输量禁止超过32个字符。 3.使用INNODB存储引擎。 INNODB引擎是MySQL5.5版本以后的默认引擘支持事务、行级锁有更好的数据恢复能力、更好的并发性能同时对多核、大内存、SSD等硬件支持更好支持数据热备份等因此INNODB相比MyISAM有明显优势。 4.库名、表名、字段名禁止使用MySQL保留字。 当库名、表名、字段名等属性含有保留字时SQL语句必须用反引号引用属性名称这将使得SQL语句书写、SHELL脚本中变量的转义等变得⾮非常复杂。 5.禁止使用分区表。 分区表对分区键有严格要求分区表在表变大后执⾏行DDL、SHARDING、单表恢复等都变得更加困难。因此禁止使用分区表并建议业务端手动SHARDING。 6.建议使用UNSIGNED存储非负数值。 同样的字节数非负存储的数值范围更大。如TINYINT有符号为 -128-127无符号为0-255。 7.建议使用INT UNSIGNED存储IPV4。 用UNSINGED INT存储IP地址占用4字节CHAR(15)则占用15字节。另外计算机处理整数类型比字符串类型快。使用INT UNSIGNED而不是CHAR(15)来存储IPV4地址通过MySQL函数inet_ntoa和inet_aton来进行转化。IPv6地址目前没有转化函数需要使用DECIMAL或两个BIGINT来存储。 例如 SELECT INET_ATON(209.207.224.40); 3520061480SELECT INET_NTOA(3520061480);209.207.224.408.强烈建议使用TINYINT来代替ENUM类型。 ENUM类型在需要修改或增加枚举值时需要在线DDL成本较高ENUM列值如果含有数字类型可能会引起默认值混淆。 9.使用VARBINARY存储大小写敏感的变长字符串或二进制内容。 VARBINARY默认区分大小写没有字符集概念速度快。 10.INT类型固定占用4字节存储 例如INT(4)仅代表显示字符宽度为4位不代表存储长度。数值类型括号后面的数字只是表示宽度而跟存储范围没有关系比如INT(3)默认显示3位空格补齐超出时正常显示Python、Java客户端等不具备这个功能。 11.区分使用DATETIME和TIMESTAMP。 存储年使用YEAR类型。存储日期使用DATE类型。存储时间(精确到秒)建议使用TIMESTAMP类型。 DATETIME和TIMESTAMP都是精确到秒优先选择TIMESTAMP因为TIMESTAMP只有4个字节而DATETIME8个字节。同时TIMESTAMP具有自动赋值以及⾃自动更新的特性。注意在5.5和之前的版本中如果一个表中有多个timestamp列那么最多只能有一列能具有自动更新功能。 如何使用TIMESTAMP的自动赋值属性? a)自动初始化而且自动更新 column1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATECURRENT_TIMESTAMPb)只是自动初始化 column1 TIMESTAMP DEFAULT CURRENT_TIMESTAMPc)自动更新初始化的值为0 column1 TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMPd)初始化的值为0 column1 TIMESTAMP DEFAULT 012.索引字段均定义为NOT NULL。 a)对表的每一行每个为NULL的列都需要额外的空间来标识。 b)B树索引时不会存储NULL值所以如果索引字段可以为NULL索引效率会下降。 c)建议用0、特殊值或空串代替NULL值。 详细的可参阅以下文章 值得收藏一份非常完整、详细的MySQL规范 MySQL开发规范与使用技巧总结 MySQL 高频企业面试题 学好知识当然就得去面试进大厂拿高薪。但是进入面试之前必要的准备是必须的刷题是其中之一。 Linux运维必会的100道MySql面试题之一 Linux运维必会的100道MySql面试题之二 Linux运维必会的100道MySql面试题之三 Linux运维必会的100道MySql面试题之四 以下内容主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来. 因此决定搞一个MySQL灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点. 此文不会事无巨细的从select的用法开始讲解mysql,主要针对的是开发人员需要知道的一些MySQL的知识点,主要包括索引,事务,优化等方面,以在面试中高频的问句形式给出答案. MySQL 高频面试题都在这了 史上最全的大厂Mysql面试题在这里 MySQL 数据库面试题2021最新版 MySQL用户行为安全 假设这么一个情况你是某公司mysql-DBA某日突然公司数据库中的所有被人为删了。 尽管有数据备份但是因服务停止而造成的损失上千万现在公司需要查出那个做删除操作的人。 但是拥有数据库操作权限的人很多如何排查证据又在哪 是不是觉得无能为力 mysql本身并没有操作审计的功能那是不是意味着遇到这种情况只能自认倒霉呢
http://www.dnsts.com.cn/news/76542.html

相关文章:

  • 机械东莞网站建设0769网站的支付系统怎么做的
  • 网站优化 月付费安阳哪里有做网站的
  • 莒县网站建设沈阳做招聘网站
  • 北京网站制作到诺然搜索引擎优化营销
  • 无锡个人网站建设手机如何建立网站步骤
  • 网站结构布局重庆网站建设哪家公司哪家好
  • 与众不同的网站网站建设客户分析调查问卷
  • 网站配色方案网络传媒网站
  • 企业型网站建设哪家比较好找人做网站需求怎么写
  • 提示网站有风险什么是营销型网站?
  • 中科建建设发展有限公司网站深圳网站建设的价格
  • 徐州市中宇建设工程有限公司网站专业网站美工
  • 成都房地产网站建设吉林大学学院网站建设群
  • 门户网站建设的公司网站建设开发费怎么做账
  • 手机网站开发 1433端口错误美化wordpress
  • 微信的网站怎么做的永久云服务器购买
  • 义乌网站设计制作价格如何安装wordpress
  • 中国水电建设集团网站安徽省建设厅查询网站
  • 集团公司网站方案外贸网页制作公司
  • 用eclipse编程做网站黄江网站建设
  • 公司要我做网站_没有公司的材料是不是不可以做怎么找运营团队
  • 人员调动在网站上怎么做门户网站建设方案内容
  • 网站建设数据收集方法接外贸单的平台有哪些
  • 表白网页制作网站wordpress支持伪静态
  • 做网站那个公司建设旅行网站
  • 网站建设备案是什么灰色词排名上首页
  • 高校校园网站建设培训班有没有专门做装修的网站
  • 定制网站建设费用预算如何建设影视网站首页
  • 网站推广怎么发外链怎么弄公司网站
  • 重庆锅炉网站建设公司福田网站建设实训步骤