mysql
文章平均质量分 80
mysql日常学习文档
不吃稻米的熊
这个作者很懒,什么都没留下…
展开
-
mysql字符集及内部编码转换
mysql Server收到请求时将请求数据从 character_set_client 转换为 character_set_connection。超集包括子集,但如果连接和插入的字符集不一致,插入的时候就乱码,后续使用存储一致的字符集查询也是乱码。服务端接收到语句后,会转换成character_set_connection 变量设置的字符集。D. 若上述值不存在,则使用 character_set_server 设定值。最后将操作结果从内部操作字符集转换为 character_set_results。原创 2023-04-03 10:59:30 · 500 阅读 · 0 评论 -
mysqldump命令详解
-skip-opt ----跳过 --add-drop-table, --add-locks,--create-options, --quick, --extended-insert等。以及 用于将数据加载到表中的语句。--master-data ----如果有写log-bin且版本为5.0以上的版本,打开-lock-all-tables。--events ----如果是5.1以上的版本使用,包含事件。原创 2023-03-29 11:43:23 · 6179 阅读 · 0 评论 -
MySQL分库分表方案及sharding-spher介绍
注:写入时,基因法生成user_id,如图。第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。支持多分片键,由于多分片键之间的关系复杂,因此并未进行过多的封装,而是直接将分片键值组合以及分片操作符透传至分片算法,完全由应用开发者实现,最大的灵活度。最后添加代码进行测试,加入一个插入和查询的方法,查看日志,插入操作的是主服务器,而查询数据是操作的从服务器。原创 2023-03-29 11:33:30 · 637 阅读 · 0 评论 -
Mysql索引类型及操作
(2)修改表结构:alter table 'tablename' add unique ['indexname'] on ('tablecolumns');(1)创建索引:create fulltext index 'indexname' on 'tablename'('tablecolumns');(1)创建索引:create unique index 'indexname' on 'tablename'('tablecolumns');如果是组合索引,则列值的组合必须唯一。原创 2023-04-03 11:04:28 · 127 阅读 · 0 评论 -
canal的各个组件的用途
canal api客户端:canal 特别设计了 client-server 模式,交互协议使用 protobuf 3.0 , client 端可采用不同语言实现不同的消费逻辑,欢迎大家提交 pull request。canal-adapter:是canal的客户端适配器,可将其看作canal client。canal-admin:为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。原创 2023-04-10 14:27:36 · 581 阅读 · 0 评论 -
mysql 数据导入导出命令详解
-fields-enclosed-by:指定列值的包括符,默认值没有(对于字符中包含列分隔符的直接包括起来)例如:12#kk#2#4,2与4间包括了#,使用包括符后,”2#4“fields enclosed by:指定列值的包括符,默认值没有(对于字符中包含列分隔符的直接包括起来)例如:12#kk#2#4,2与4间包括了#,使用包括符后,”2#4“--fields-optionally-enclosed-by: 指定非数字列的包括符,默认值没有(有就使用,没有就不使用)原创 2023-04-01 18:49:03 · 2409 阅读 · 0 评论 -
Mysql权限拆解
表层级权限可以被全局层级和数据库层权限覆盖,表层级权限的作用域是授权所指定的表,所以权限种类也比较小, 只有如下8个权限,alter,create,delete,drop,index,insert,select,update。列层级权限的作用域仅限于某个表的某个列,这些权限存储在mysql.columns_priv表中,列层级同样可以被高层同样的权限覆盖掉, 由于列层级权限和子程序层权限作用域没有重合部分所以不会被覆盖。也就是说,同样的一个用户名,如果来自不同的IP地址,则MySQL将其视为不同的用户。原创 2023-04-06 10:25:19 · 157 阅读 · 0 评论 -
mysql各种文件类型
-log_output=TABLE,FILE --slow_query_log --slow_query_log_file=/usr/local/mysql/logs/slow.log 启用慢查询日志,记录到指定日志文件和表中。slow_query_log_file = /usr/local/mysql/logs/slow.log --慢查询日志文件存储路径和文件名。--log_output=TABLE,FILE --general_log 启用普通查询日志,日志记录到数据库中的日志表和文件中。原创 2023-04-06 10:24:58 · 145 阅读 · 0 评论 -
CANAL同步RDB实验
canal是Alibaba旗下的一款开源项目纯Java开发它是基于数据库增量日志解析提供增量数据订阅消费目前主要支持mysql。应用场景canal的数据同步不是全量的,而是增量。基于binary log增量订阅和消费,canal可以做:数据库镜像数据库实时备份索引构建和实时维护业务cache(缓存)刷新具体业务场景数据同步,比如:做在线、离线数据库之间的数据同步操作;数据消费,比如:需要根据关注的数据库表的变化,做搜索增量;原创 2023-04-10 14:21:22 · 548 阅读 · 0 评论 -
canal 同步报错 Target column: id not matched
targetTable: tb_user #目标数据源的表名。targetTable: 项设置为test001.tt9。commitBatch: 3000 # 批量提交的大小。canal版本为:1.1.5。主要原因是目标库表不匹配,,这边不能设置为目标数据库。表名,目标库只能在应。原创 2023-04-10 14:36:41 · 606 阅读 · 0 评论 -
mysqlbinlog 远程备份
命令示例:mysqlbinlog -v --base64-output=DECODE-ROWS --read-from-remote-server --raw --host=x.x.x.x --port=3306 --user=root --password=123456 --stop-never mysql-bin.000001。譬如对于mysql-bin.000001,--raw不支持--database,--start-datetime,--end-datetime,--end-position。原创 2023-03-21 13:29:53 · 128 阅读 · 0 评论 -
在linux上安装mysql
启动数据库(手工启动) 参数文件如果不指定,查找路径(/etc/my.cnf /etc/mysql.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf)mysql>grant all on abc.* to 'yao'@'%';原创 2023-03-19 20:46:50 · 30 阅读 · 0 评论 -
Mysql8 MHA
该参数代表忽略上次MHA触发切换产生的文件,默认情况下,MHA发生切换后会在日志目录,也就是上面我设置的/data产生app1.failover.complete文件,下次再次切换的时候如果发现该目录下存在该文件将不允许触发切换,除非在第一次切换后收到删除该文件,为了方便,这里设置为--ignore_last_failover。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。原创 2023-03-18 12:16:17 · 230 阅读 · 1 评论 -
Xtrabackup介绍及使用
Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB, 开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。xtrabakackup有3个工具,分别是xtrabakup、innobakupex、xbstreamxtrabackup 支持InnoDB,XtraDB。原创 2023-03-28 10:32:41 · 647 阅读 · 0 评论 -
Mysql8.0.23+ 主从复制
没有给客户端以事务成功的反馈,但是在连接主库的其他客户端上是能查询到主库修改的数据,此时发生故障,从库切主库时相当于丢失了数据。,然后再提交到存储引擎,在提交到存储引擎前,主从上都查不到事务的修改,此时发生故障切换,不算丢失数据,因为故障前的事务尚未完成。模式先提交到存储引擎,那么主库上事务相当于已经完成了,虽然没有等到从库的。从提交流程可以看出,两个模式的区别就是提交到存储引擎与等待从库的。至此,一个简单的主从环境搭建完成,需要注意的时。作为级联的中转库,需要开启半同步的主、从参数。原创 2023-03-21 13:34:01 · 209 阅读 · 0 评论 -
Xtrabackup介绍及使用
全备份:innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=xtrabk --password=xtrabk /home/mysql/backup/一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。指明基于上一个增量备份路径做增量备份:增量备份之后再一次进行增量备份时,其--incremental-basedir应该指向上一次的增量备份所在的目录。原创 2023-03-20 16:36:26 · 363 阅读 · 0 评论 -
mysql binlog 日志详解及恢复
在下面你将看到 mysqlbinlog --stop-datetime="2019-04-20 9:59:59″ /u01/mysql3308/binlog/mysql-bin.000001 | mysql -u root -pmypwd 类似的语句,这是把mysql-bin.000001这个二进制文件里的内容转换成ASCII文件(也就是sql语句),直接通过管道操作符”|”传输给 mysql这个程序,然后过滤掉其它数据库的语句,只在db_test里执行。在该行中,从上午10:01登录的SQL语句将运行。原创 2023-03-27 18:52:43 · 5376 阅读 · 0 评论 -
Mysql8 GTID 复制
1.1 GTID全称Global transaction identifiers,也称之为全局事务ID。MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中,这是一个非常重要的文件,不能删除,这一部分是不会变的。下面是一个uuid的值举例:[auto]另外一部分就是事务ID了,随着事务的增加,值依次递增。也就是说,GTID实际上是由UUID+TID组成的。原创 2023-03-19 20:44:26 · 380 阅读 · 0 评论 -
MySQL--binlog2sql 安装及使用
INSERT INTO `test`.`tt8`(`id`, `id_tye`, `zdr_id`, `zdr_name`, `zt_name`) VALUES (30, 'OUT', '辽宁KK服务有限公司', 'SYSADMIN', 'sysadmin');--stop-position/--end-pos 终止解析位置。--stop-file/--end-file 终止解析文件。--back-interval -B模式下,每打印一千行回滚SQL,加一句SLEEP多少秒,如不想加SLEEP,请设为0。原创 2023-03-22 19:29:31 · 484 阅读 · 0 评论 -
mysql binlog 日志详解
在下面你将看到 mysqlbinlog --stop-datetime="2019-04-20 9:59:59″ /u01/mysql3308/binlog/mysql-bin.000001 | mysql -u root -pmypwd 类似的语句,这是把mysql-bin.000001这个二进制文件里的内容转换成ASCII文件(也就是sql语句),直接通过管道操作符”|”传输给 mysql这个程序,然后过滤掉其它数据库的语句,只在db_test里执行。在该行中,从上午10:01登录的SQL语句将运行。原创 2023-03-20 16:39:46 · 3757 阅读 · 0 评论 -
mysql--my2sql 详解
从解析效率对比来看,my2sql 是优胜于 binlog2sql 的,并且 my2sql 另外还具有解析大事务或者长事务,生成 DML 统计信息的功能,是很实用一款 binlog 解析工具,但是通过实验来看,my2sql 的并发功能似乎并没有加快其解析效率,建议解析时使用默认的线程数即可。my2sql 工具在使用时需要注意下字段的数据类型,存在解析 bug ,会导致解析的数据与原数据有差异,具体参考: https://github.com/liuhr/my2sql/issues/31。原创 2023-03-23 21:02:57 · 1654 阅读 · 0 评论 -
MyDumper 介绍及使用
s, --source-db # 被还原的数据库(源数据库),-s db1 -B db2,表示源库中的db1数据库,导入到db2数据库中。-O, --omit-from-file # 包含数据库列表的文件。-O, --omit-from-file # 包含数据库列表的文件。--no-check-generated-fields # 与生成的字段相关的查询将不会被执行。原创 2023-03-23 21:06:26 · 1127 阅读 · 0 评论