mysql DBA技能

主备

启动slave thread:登录到sql后运行start slave;
查看主备:show slave status\G

主备切换

发生切换的原因是ha在固定时间内来测试数据库能否访问,如果数据库在多长时间内一直不能访问才会发生主备切换
所以主备切换的原因是一定时间内数据库无法访问,原因可能有qps过大或慢sql rt过高导致数据库堵住,或线程池满数据库无法访问,连接满拒绝访问

数据

1.max_connections:允许所有用户的最大连接数,包括root除了(‘root’@‘127.0.0.1’和’root’@’localhost’),满了报错too many connections,错误号1040
2.max_user_connections:单个用户允许的最大连接数,包括root除了(‘root’@‘127.0.0.1’和’root’@’localhost’),满了报错User root already has more than 'max_user_connections' active connections,错误号1203
3.数据库线程池:32 thread_pool_size=32,thread_pool_oversubscribe=10;线程池大小为32*(10+1)=352,加上其它后台线程也不过400

查看更多内容...

Posted in 数据库 at September 9, 2018. by 傻猫 .    Views: 145    No Comments

统计各表记录数和空间占用情况

SELECT s.Name AS SchemaName,
t.NAME AS TableName,
SUM(p.rows)/COUNT(distinct a.type) AS RowCounts,
CAST(SUM(a.total_pages) as float) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
SUM(a.data_pages) * 8 AS DataSpaceKB,
CAST((SUM(a.total_pages) - SUM(a.used_pages)) as float) * 8 AS UnusedSpaceKB,
MIN(FILEGROUP_NAME(a.data_space_id)) as FileGroup
FROM sys.tables t
JOIN sys.schemas s
ON s.schema_id = t.schema_id
JOIN sys.indexes i
ON t.OBJECT_ID = i.object_id
JOIN sys.partitions p
ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
JOIN sys.allocation_units a
ON p.partition_id = a.container_id
WHERE t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 AND i.index_id < 2
GROUP BY t.Name, s.Name
ORDER BY TotalSpaceKB desc

Posted in 数据库 at January 7, 2018. by 傻猫 .    Views: 2671    No Comments

Delphi ListView排序

var
m_bSort:Boolean; //控制正反排序的变量

implementation

{$R *.dfm}
//ListView排序的回调函数,默认的是快速排序法,也可以自己在这里做算法
function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
var txt1,txt2:string;
begin
if ParamSort <> 0 then
begin
try
txt1:=Item1.SubItems.Strings[ParamSort-1];
txt2:=Item2.SubItems.Strings[ParamSort-1];
if m_bSort then begin
Result:=CompareText(txt1,txt2);
end else begin
Result:=-CompareText(txt1,txt2);
end;
except
end;

  end
  else
  begin
          if   m_bSort   then
          begin
                Result:=CompareText(Item1.Caption,Item2.Caption);
          end
          else
          begin
                Result:=-CompareText(Item1.Caption,Item2.Caption);
          end;
  end;

end;

procedure TFrm_CommunityModify.lv_SelectedHDTCColumnClick(Sender: TObject;
Column: TListColumn);
begin
lv_SelectedHDTC.CustomSort(@CustomSortProc,Column.Index);
m_bSort:=not m_bSort;
end;

Posted in 软件开发 at November 14, 2017. by 傻猫 .    Views: 3449    No Comments

【解决】由于没有远程桌面授权服务器可以提供许可证,远程回话被中断

由于windows server 2008 R2 安装了 远程桌面角色,但是这个角色是120天免费的,需要购买授权的【可恶的微软,多用户登录,都要收钱。对于unix来说,多用户是很普通的系统功能】

解决方法是取消这个角色,就可以恢复正常的远程了。

现在无法远程,提示这个错误,怎么才能登陆,取消角色呢?

mstsc /v:IP /admin

这样就可以登陆了。然后再把远程桌面 角色删除,重启计算机,OK done!

资料:百度

http://hi.baidu.com/yuanyang203/item/269f0b5ff95bba4c4eff20c4

Posted in 软件开发 at October 3, 2017. by 傻猫 .    Views: 3628    No Comments

CentOS环境开放3306端口

添加规则,打开3306端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

查看规则是否生效
iptables -L -n //或者 service iptables status

在mysql控制台下修改权限
grant all privileges on . to 'root'@'%' identified by '123456' with grant option;

flush privileges; //重载系统权限

exit;//退出mysql控制台

Posted in 数据库 at September 13, 2017. by 傻猫 .    Views: 3671    No Comments

CentOS 7.0下使用yum安装MySQL

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

1.下载mysql的repo源

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安装mysql-community-release-el7-5.noarch.rpm包

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3.安装mysql

$ sudo yum install mysql-server

根据提示安装就可以了,不过安装完成后没有密码,需要重置密码

4.重置mysql密码

$ mysql -u root

登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

$ sudo chown -R root:root /var/lib/mysql

重启mysql服务

$ service mysqld restart

接下来登录重置密码:

$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

Posted in 数据库 at September 12, 2017. by 傻猫 .    Views: 3436    No Comments

ITIL信息技术基础架构库介绍

ITIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)负责管理,主要适用于IT服务管理(ITSM)。ITIL为企业的IT服务管理实践提供了一个客观、严谨、可量化的标准和规范。

使用功能

在它的最新版2.0版中,ITIL主要包括六个模块,即业务管理、服务管理、ICT基础架构管理、IT服务管理规划与实施、应用管理和安全管理。其中服务管理是其最核心的模块,该模块包括"服务提供"和"服务支持"两个流程组.

ITIL为企业的IT服务管理实践提供了一个客观、严谨、可量化的标准和规范,企业的IT部门和最终用户可以根据自己的能力和需求定义自己所要求的不同服务水平,参考ITIL来规划和制定其IT基础架构及服务管理,从而确保IT服务管理能为企业的业务运作提供更好的支持。对企业来说,实施ITIL的最大意义在于把IT与业务紧密地结合起来了,从而让企业的IT投资回报最大化。

实际上,ITIL并不仅仅适用于企业内部的IT服务管理,也适合于IDC数据托管中心。过去,IDC为每个用户提供的IT服务水平很难量化、考评,用户无法断定是否获得了合同承诺的服务,而ITIL的实施为IDC的IT服务水平提供了一个可以客观考评的依据和标准。

ITIL已经在全球IT服务管理领域得到了广泛的认同和支持,四家最领先的IT管理解决方案提供商都宣布了相应的策略:IBM Tivoli推出了"业务影响管理"解决方案、HP公司倡导"IT服务管理"、CA公司强调"管理按需计算环境"、BMC公司则推出了"业务服务管理"理念。实际上,无论各公司的理念和解决方案有多大差异,但目标都是一致的:把IT与业务相结合,以业务为核心搭建和管理IT系统。

查看更多内容...

Posted in 管理知识 at August 30, 2017. by 傻猫 .    Views: 3298    No Comments

ITSM(IT服务管理)

IT服务管理(ITService Management ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。

简介

专家的研究和大量企业实践表明,在IT项目的生命周期中,大约80%的时间与IT项目运营维护有关,而该阶段的投资仅占整个IT投资的20%,形成了典型的“技术高消费”、“轻服务、重技术”现象。Gartner Group的调查发现,在经常出现的问题中,源自技术或产品(包括硬件、软件、网络、电力失常及天灾等)方面的其实只占了20%,而流程失误方面的占40%,人员疏失方面的占40%。流程失误包括变更管理没有做好、超载、没有测试等程序上的错误或不完整,人员疏失包括忘了做某些事情、训练不足、备份错误或安全疏忽等。
这就说明,IT运营方面的问题,更多的不是来自技术,而是来自管理方面。那么,如何进行IT运营管理呢?
世界上许多企业和政府部门进行了长期的探索和实践。以这些企业的经验和成果为基础,逐渐形成了一种新的IT运营管理方法论,那就是ITSM(IT Service Management,IT服务管理)。
这套标准已经被欧洲、美洲和澳洲的很多企业采用,在欧洲40-60%的IT经理都知道ITSM,在美国有20-30%的IT经理了解ITSM,而在国内了解ITSM的人还很少。ITSMf的CEO Aidan Lawes认为,“对一个企业来说,不管其IT架构多大,都需要ITSM,目前把业务与IT能够很好集成的客户还不多,很多人首先想到的是业务,然后才是IT,而不是用IT去驱动业务。” Aidan Lawes认为有必要要从教育入手普及ITSM,让人们从学生时代就意识到ITSM的重要性。 基于不同的出发点和侧重点,人们提出了各种各样的有关IT服务管理的定义。
国际IT领域的权威研究机构加特纳(Gartner)认为,ITSM是一套通过服务级别协议(SLA)来保证IT服务质量的协同流程,它融合了系统管理、网络管理、系统开发管理等管理活动和变更管理、资产管理、问题管理等许多流程的理论和实践。
而ITSM领域的国际权威组织itSMF(国际IT服务管理论坛)则认为ITSM是一种以流程为导向、以客户为中心的方法,它通过整合IT服务与组织业务,提高组织IT服务提供和服务支持的能力及其水平。

查看更多内容...

Posted in 管理知识 at August 30, 2017. by 傻猫 .    Views: 3017    No Comments