云顶娱乐手机版-云顶娱乐v1.8

云顶娱乐手机版拥有更好的使用效果,云顶娱乐v1.8每天有上万玩家一起在线游戏,赶快加入吧,云顶娱乐手机版已经成为国内的少数几家集大型网络游戏研发与运营和社区服务为一体的全新互联网娱乐平台,佳网络线上娱乐城。

自拉长字段值的三翻五次递增实现,贰遍事故的

一. 钦点路径

  在上一篇里,二进制包解压后,全体放入在/usr/local/mysql目录下,在设置时钦点了基础目录和数码目录, --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 。

--有些文件在安装,是没有指定路径,安装后默认分布如下: 
    错误消息文件和字符集文件(share/mysql)。
    my.cnf(/etc/my.cnf)。
    socket=/var/lib/mysql/mysql.sock。
   --my.cnf里的配置
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid。

--网上查了资源,在安装时可以指定路径 如下所示:
[root@hsr bin]# ./mysqld  
--defaults-file=/usrl/local/mysql/etc/my.cnf 
--socket=/var/run/mysqld/mysqld.sock 
--log-error=/var/log/mariadb/mariadb.log  
--pid-file=/var/run/mariadb/mariadb.pid  
--initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  Linux是提议第三方软件放在/opt下。官方网站文书档案 Initializing the Data Directory Manually Using mysqld

图片 1

转自:http://www.maomao365.com/?p=6421

背景

认知mysql第三篇,发出的源委切合初学者,如若能源源关心本人的博客,能够周到的调整mysql的常用知识,后续我也会时断时续发生python相关的知识,关怀小编,和自身一共进步呢!

背景:MySQL5.6.40,库一点都不大,row+gtid复制意况,但由于原先各类原因,备份还原在从库后,开启复制存在大批量1062,1032破绽百出,gtid卡在靠前岗位。做复制的时候未有任何从库,每小时的备份也被运营停了。

二 . MYSQL二进制安装目录  

二进制安装目录

rpm安装目录

二进制目录说明

bin客户端程序和mysqld服务器

/usr/bin(客户端程序和脚本)
/usr/sbin(mysqld服务器)

/usr/local/mysql/bin

在上一篇里的"七 登录mysql"里做了文件映射。

 ln -s /usr/local/mysql/bin/mysql /usr/bin

Data日志文件和数据文件

/var/lib/mysql(日志文件和数据库)

这里安装时自定义在/usr/local/mysql/data下。

Docs 文档和ChangeLog

 

/usr/local/mysql/docs

Include 包含(头)文件lib(库文件)

 

/usr/local/mysql/include,/usr/local/mysql/lib

share/mysql 错误消息文件和字符集文件

 

/usr/share/mysql (默认路径)

摘要:

在上一篇《数据库操作类SqlHelper》博文的结尾,提到了一个推行应用中遇见的主题素材,就是数据库表中的自增进字段的赋值不受人为调整。举例数据库有多个tb_Department表,DeptNO字段为自增加主键。

1、SQL查询
  1、推行顺序
    3、select ...聚合函数 from 表名
      1、where ...
      2、group by ...
      4、having ...
      5、order by ...
      6、limit ...
  2、group by
    1、效用 :给查询结果开展分组
    2、示例
      1、查询表中总共有多少个国家

先前一直没遇到过这种气象,相对测验情况正式境遇相比较复杂,并且揣度大概是后面备份还原一贯没用过备份一致性参数导致,並且发掘错误也并未有手工业检查(这几个标题还在商讨中,有蒙受并明白原因的同伙招待引导)。

三. 重启系统后登入报错

-- 错误信息如下:
[root@hsr ~]#  mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  化解方式:

  1. 在my.cnf里指定socket=/tmp/mysql.sock

  2. 启动mysql

    [root@hsr ~]# service mysql start
    Starting MySQL.. SUCCESS!

  3.再登录mysql OK

    [root@hsr ~]#  mysql -u root -p

    Enter password:

    Welcome to the MySQL monitor.  Commands end with ; or g.

    Your MySQL connection id is 2

    Server version: 5.7.23 MySQL Community Server (GPL)

下文叙述计算汉字笔画数的sql函数分享,如下所示:

图片 2

      2、总括每种国家的平均攻击力
      select country,avg(gongji) from sanguo
      group by country;
    3、查找全体国家中勇于数量最多的前2名的 国家名称和敢于数量
      select country,count(id) as number from sanguo
      group by country
      order by number desc
      limit 2;
3、注意
  1、group by之后的字段名必供给为select之后的字段名
  2、假如select之后的字段名和group by之后的字段分化,则必得对该字段实行联谊管理(聚合函数)
  3、having语句
1、作用
对查询的结果开展特别筛选
2、示例
  1、寻觅平均攻击力>105的国度的前2名,展现国家名和平均攻击力
  select country,avg(gongji) as pjgj from sanguo
  group by country
  having pjgj>105
  order by pjgj DESC
  limit 2;
3、注意
  1、having语句日常和group by语句联合利用,过滤由group by语句再次来到的记录集
  2、where只好操作表中实际上存在字段,having可操作由聚合函数生成的体现列
4、distinct
  1、功效 :不出示字段重复值
  2、示例
1、表中皆有何国家
  select distinct country from sanguo;
2、总计梁国一共有些许个豪杰
  select count(distinct id) from sanguo
  where country="蜀国";
3、注意
  1、distinct和from之间具备字段都同样才会去重
  2、distinct不能对别的字段做聚合管理
5、查询表记录时做数学生运动算
1、运算符
  + - * / %
2、示例
1、查询时全数勇于攻击力翻倍
select id,name,gongji*2 as gj from sanguo;

为了现在防止因为复苏不立刻导致的多寡错过,特别总计本次故障进度和我们商讨、分享。


目前布署一行数据

## sudo apt-get install python3-pip
## sudo pip3 install pymysql
2、约束
  1、成效 :有限协理数据的完整性、一致性、有效性
2、约束分类
  1、暗中同意约束(default)
  1、插入记录,不给该字段赋值,则运用私下认可值
2、非空约束(not NULL)
  1、不容许该字段的值有NULL记录
  sex enum("M","F","S") not null defalut "S"

简化时间轴如下图:

例:建立汉字笔划数sql函数 

图片 3

3、索引
  1、定义
  对数码库表的一列或多列的值实行排序的一种结构(Btree方式)
  2、优点
  加速数据检索速度
3、缺点
  1、占用物理存款和储蓄空间
  2、当对表中多少更新时,索引必要动态维护,减弱数据爱惜速度
4、索引示例
  1、开启运维时刻质量评定 :set profiling=1;
  2、实施查询语句
  select name from t1 where name="lucy99999";
3、查看试行时间
  show profiles;
4、在name字段创设索引
  create index name on t1(name);
5、再实践查询语句
  select name from t1 where name="lucy88888";
6、查看试行时间
  show profiles;
5、索引
1、普通索引(index)
1、使用准绳
1、可设置多少个字段
2、字段值无束缚
3、key标志 :MUL
2、创建index
1、创立表时
  create table 表名(...
  index(字段名),index(字段名));
2、已有表
  create index 索引名 on 表名(字段名);
  create index name on t3(name);
3、查看索引
  1、desc 表名; --> KEY标志为:MUL
  2、show index from 表名G;
  4、删除索引
  drop index 索引名 on 表名;
2、唯一索引(unique)
  1、使用准绳
    1、可设置八个字段
    2、约束 :字段值不容许再度,但可为 NULL
    3、KEY标志 :UNI
    2、创建
    1、成立表时创设
    unique(字段名),
    unique(字段名)
2、已有表
  create unique index 索引名 on 表名(字段名);
3、查看、删除 同普通索引
3、主键索引(primary key)
自拉长属性(auto_increment,协作主键一齐使用)
1、使用法则
1、只好有一个主键字段
2、约束 :不允许再度,且无法为NULL
3、KEY标志 :PRI
4、经常设置记录编号字段id,能独一锁定一条记下
2、创建
1、创造表时
  (id int primary key auto_increment,
  )auto_increment=10000;##安装自增加起头值
已有表增多自拉长属性:
  alter table 表名 modify id int auto_increment;
已有表重新钦命开头值:
  alter table 表名 auto_increment=20000;
2、已有表
  alter table 表名 add primary key(id);
3、删除
1、删除自增进属性(modify)
  alter table 表名 modify id int;
2、删除主键索引
  alter table 表名 drop primary key;
4、外键索引
4、数据导入
1、功用 :把文件系统的内容导入到数据库中
2、语法
load data infile "/var/lib/mysql-files/文件名"
into table 表名
fields terminated by "分隔符"
lines terminated by "n";
自拉长字段值的三翻五次递增实现,贰遍事故的回想。3、将scoretable.csv文件导入到数据库的表中
1、在数据库中创设对应的表
create table scoretab(
id int,
name varchar(15),
score float(5,2),
number bigint,
class char(7)
);
2、把公文拷贝到数据库的暗许搜索路线中
1、查看暗中认可寻找路径
  show variables like "secure_file_priv";
  /var/lib/mysql-files/
2、拷贝文件
  sudo cp ~/scoretable.csv /var/lib/mysql-files/
3、实践多少导入语句
load data infile "/var/lib/mysql-files/scoretable.csv"
into table scoretab
fields terminated by ","
lines terminated by "n";
4、文件权限
rwxrw-rw- 1 tarena tarena scoretable.csv
所有者 所属组
rwx : tarena用户
rw- : 同组其余顾客
rw- : 其余组的别的顾客(mysql客商)

始于---->备份主库---->苏醒从库---->复制error1032,1062---->删除从库再一次重振旗鼓---->复制error1032,1062---->reset master从库、主库---->企图删除从库---->误操作删主库----->复苏主库----->跳过大量1062、1032荒谬---->找drop db地点复苏从库---->相比较宗旨数据---->手工业补数据---->甘休

create function [dbo].[fn_hanZiBiHuaShu](@char nchar(2)) 
returns int 
as 
begin 
return( 
case when unicode(@char) between 19968 and 40869 then( 
select top 1 id from( 
select id=1,ch=N'亅' 
union all select 2,N'阝' 
union all select 3,N'马' 
union all select 4,N'风' 
union all select 5,N'龙' 
union all select 6,N'齐' 
union all select 7,N'龟' 
union all select 8,N'齿' 
union all select 9,N'鸩' 
union all select 10,N'龀' 
union all select 11,N'龛' 
union all select 12,N'龂' 
union all select 13,N'龆' 
union all select 14,N'龈' 
union all select 15,N'龊' 
union all select 16,N'龍' 
union all select 17,N'龠' 
union all select 18,N'龎' 
union all select 19,N'龐' 
union all select 20,N'龑' 
union all select 21,N'龡' 
union all select 22,N'龢' 
union all select 23,N'龝' 
union all select 24,N'齹' 
union all select 25,N'龣' 
union all select 26,N'龥' 
union all select 27,N'齈' 
union all select 28,N'龞' 
union all select 29,N'麷' 
union all select 30,N'鸞' 
union all select 31,N'麣' 
union all select 32,N'龖' 
union all select 33,N'龗' 
union all select 35,N'齾' 
union all select 36,N'齉' 
union all select 39,N'靐' 
union all select 64,N'龘' 
)a where ch>=@char collate Chinese_PRC_Stroke_CS_AS_KS_WS 
order by id ASC) 
else 0 end) 
end

go

--测试获取汉字笔画数的sql函数 
select dbo.[fn_hanZiBiHuaShu]('猫')

drop function dbo.[fn_hanZiBiHuaShu]
go

哎!DeptNO字段怎么便是22了吧,不应该是从4最早吧?

r -> 4
w -> 2
x -> 1
chmod 644 文件名 rw-r--r--
5、Excel表格怎么着转化为CSV文件
1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)
6、更动文件编码格式
1、用记事本/编辑器 张开,文件->另存为->选取编码
5、数据导出
1、作用
将数据库中表的笔录导出到系统文件里
2、语法格式
select ... from 表名
into outfile "/var/lib/mysql-files/文件名"
fields terminated by "分隔符"
lines terminated by "n";
3、把MOSHOU库下的sanguo表豪杰的真名、攻击值、国家导出来,sanguo.txt
select name,gongji,country from MOSHOU.sanguo
into outfile "/var/lib/mysql-files/sanguo.txt"
fields terminated by " "
lines terminated by "n";
$ sudo -i
$ cd /var/lib/mysql-files/
$ ls
$ cat sanguo.txt
4、将mysql库下的user表中 user、host多个字段的值导出到 user.txt
select user,host from mysql.user
into outfile "/var/lib/mysql-files/user.txt"
fields terminated by " "
lines terminated by "n";

上边遵照小编的回忆描述下立即的光景:

 

由来:那一个表从前进行过不菲布署操作,数据库针对自拉长字段的每便插入都会自行+1,后来剔除了一部分行数据,然后再一次插入的时候,数据库不会依赖表中缺点和失误的字段值实行赋值,而是在原先的根基上接轨+1赋值。

本节完!

一、第壹回备份主库、搭建从库

第贰遍搭建从库,从主库的备份未利用master-data=2 single-transaction(保障专门的职业备份时的一致性)参数迁移后,报多量1062和1032谬误(家家有本难念的经,相当少说了)

 

图片 4

结果:在新插入的“哈哈系”数据行在此之前,其实数据库已经向表里插入过贰12遍了,只是DeptNO字段值大于3的行数据被剔除了,今后要新插入行数据的话,就能够在21的底蕴上+1,也便是第3个表中出现的22了。

二、第三次恢复生机主库到从库

于是第三遍重复导入。

无异于报错。在导入从库前应用reset master;将从库binlog清除。

出于操作职员不停解reset master含义及实践结果,又在主库做了reset master;

结果导致主库全体binlog日志被排除而且binlog position置为1;

那边贴以下官方表达,别没事干就在主库上用那条。

 

图片 5

双重导入发掘依然多量报1032,1062张冠李戴。

由于可疑是因为备份时没利用--single-transaction参数,准备删除从库,加参数重新备份主库。

期望:

三、误删除主库

结果误操作删除主库(这几个锅一有个别原因要甩给mysql naivcat这一个工具,垂直排列库,稍微不理会就便于点错。照旧建议大家听吴老师的用合法的workbench),删库如故三人核对,在操作系统上实行,删前没把握最棒备份一次。

删库这种操作谨严当心再稳重,主要的政工说贰次!

删库这种操作严谨小心再严谨,主要的事务说三回!

删库这种操作谨严小心再战战栗栗,主要的专门的工作说三回!

drop database;(在naivcat上右键删除库,但binlog日志中还是会记录DROP DATABASE那条记下)

那儿为了确定保障专门的学问不暂停,立马在主库上通过事先的备份文件苏醒了一套库,当然数据一定遗失了,但足以推算错过数据的年月段(从备份完结初阶--->DROP DATABASE)。

PS.请不要问作者怎么删库,为何删完又余烬复起了一套库,因为都不是本身干的。。。。。。

有幸的是误删除主库但并未有删除从库,并且从库的io_thread依旧处于yes状态(回看吴先生的科目,约等于说即使库被去除了但骨子里删库前的多寡=备份数据+io_thread已下载的去除主库前的数目),由于sql_thread还是停到gtid靠前的职位

 

图片 6

  1. 在插入新数据的时候,针对自增加字段能够人为垄断(monopoly);
  2. 实在运用中,其实顾客并不知道数据表中自增加字段缺点和失误的是哪些值,程序须求活动提供缺点和失误照旧缺省值。

四、跳过大量1032,1062谬误

以此时候假诺看下备份文件的gtid地方,并purge到该职责(从前备份丢了,随意找了一个备份的截图,精通万岁)。

##那边说澳优下怎么一直purge到备份的尾声地方,因为书库备份的数据中1032和1062荒谬太多,且主库已经删除不可能通过脚本相比跳过大批量1032,1062指鹿为马(吴老老师和朋友情提供),在能够保证是从主库逻辑备份过来的情事下(主从数据一致),大家选拔急迅跳过大量荒唐(偷懒加意况急),直接purge到备份最终的地方。

 

图片 7

##上海体育场所是随意截的三个备份文件最早叶的义务,请忽略那多个gtid的值,意思通晓就行。

set @@gtid_purged='fb1f83af-1915-11e8-811b-000c29c4d77d:1-500';

注:‘500’代表备份文件倒数试行的作业的gtid。gtid_purged代表数据库已经在从库上海重机厂放过1-500这段工作。

本文由云顶娱乐手机版发布于云顶娱乐,转载请注明出处:自拉长字段值的三翻五次递增实现,贰遍事故的

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。