标签:加锁 -- 数据库 选择 并发 mysqld mysql 磁盘
物理服务器:
塔式
工作站
机架式——放在机柜上 1U 2U 4.4厘米
-
内存:ECC纠错内存(建议2-3倍cpu核心数量)
-
主板:不关心
-
硬盘:SATA-III、SATA 、SAS、GT-BT 、Fc、SSD(sata)、pci-e ssd(第二好)、Flash(性能最好,但是寿命短,价格贵)
-
电源:双电源(型号一样,热插拔,断掉一路电源服务器不会重启或关机),单电源(电力切割的时候要中断电源4-6小时,一般24点开始切割,6点恢复业务)。
-
PDU:服务器机柜专用排插,防雷,防电涌,一般机柜配两个PDU,左边一个,右边一个。
-
服务器开机键一般在最左边,电源在背面,
存储(图片、视频)
-
IP-SAN iSCSI IP存储,用于网线传输数据
-
PC-SAN 光纤存储,用光纤口
-
NAS 网络存储
主机 RAID卡的BBU关闭,根据存储数据的种类而选择储存设备,配置合理的RAID级别(raid5、raid10、热备盘)
-
RAID0:条带化,性能高,最少1块盘
-
RAID1:镜像+安全,(适合系统盘)最少2块盘,最多能坏1块
-
RAID5:写校验+条带化,安全较高+读性能高(适合读多写少),最少3块盘,最多能坏1块
-
RAID10:安全+性能都很高,最少4块盘,浪费一半的空间(高IO要求),最多能坏2块(前提是这两块不在同一个RAID1 里)
机房IDC流程:
--先下工单
--上架工单
--下架工单
--维护工单
-网线 轧带 螺丝刀 螺丝 多种型号
mysql锁的概念
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
Mysql中有哪几种锁?
-
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
-
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
-
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
锁的优化策略
- 读写分离
- 分段加锁
- 减少锁持有的时间
- 多个线程尽量以相同的顺序去获取资源
- 不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效率不如一次加一把大锁
mysql排除
方法一:
查看mysql的报错日志文件:vim /data/mysql/data/(默认)主机名.err
找到包含[ERROR]字段的行
可能情况:
/etc/my.cnf 路径不对等
/tmp/mysql.sock 文件修改过 或 被删除
数据库目录权限不是mysql
参数改错了
方法二:
pskill mysqld
使用命令行启动,会将启动日志信息打印在屏幕上。
命令:/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
==============================================================
管理员用户密码忘了,其它用户可以正常使用。
--skip-grant-tables #跳过授权表
--skip-networking #跳过运程登录
步骤:
1、关闭数据库
/etc/init.d/mysqld stop 或 systemctl stop mysqld
2、启动数据库到维护模式
mysqld_safe --skip-grant-tables --skip-networking &
3、登录并修改密码
mysql #直接跳过验证进入数据库,只能在本地操作,不能远程连接
mysql >alter user roo@'localhost' identified by '1';
mysql >flush privileges; #启用授权表
mysql >alter user roo@'localhost' identified by '1';
4、关闭数据库,正常启动
mysqladmin -uroot -p password '123456' #为root用户设置一个新密码
标签:加锁,
--,
数据库,
选择,
并发,
mysqld,
mysql,
磁盘
From: https://www.cnblogs.com/lanchang/p/17785372.html