프로덕션 라이브러리 자동화에 대한 자세한 튜토리얼 MySQL5.6 설치 및 배포_MySQL
自动化运维是一个DBA应该掌握的技术,其中,自动化安装数据库是一项基本的技能,本文中的安装脚本已通过测试,作为生产库来说没有问题,鉴于每个公司存储规划要求不同,可以按需自行修改脚本。
脚本中已经注释说明一些基本的安装信息
本脚本默认启用5.6部分新特性
innodb_buffer_pool_dump_at_shutdown=1 它dump的不是数据,是Id号 innodb_buffer_pool_load_at_startup=1
开启这个两个参数当数据库重启后把这些热数据重新加载回去
只有正常关库才会dump热数据块,宕机和kill -9不会
部分参数按需整改,例如innodb_buffer_pool_size = 512M,本文给的512M,一般给内存的50%-80%。
来看一下脚本的具体情况[root@HE3 ~]# cat mysql_auto_install.sh
######二进制自动安装数据库脚本root密码MANAGER将脚本和安装包放在/root目录即可############### ######数据库目录/usr/local/mysql############ ######数据目录/data/mysql############ ######日志目录/log/mysql############ ######端口号默认3306其余参数按需自行修改############ ################## #author:rrhelei@126.com# ################## #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/bin export PATH #Check ifuserisroot if[$(id -u)!="0"];then echo"Error:Youmustberoottorun thisscript,pleaseuseroottoinstall" exit1 fi clear echo "=========================================================================" echo "Atooltoauto-compile&installMySQL5.6.25onRedhat/CentOSLinux " echo "=========================================================================" cur_dir=$(pwd) #set mysqlrootpassword echo"===========================" mysqlrootpwd="MANAGER" echo-e"Pleaseinputtherootpasswordofmysql:" read-p"(Defaultpassword:MANAGER):"mysqlrootpwd if["$mysqlrootpwd"=""];then mysqlrootpwd="MANAGER" fi echo"===========================" echo"MySQLrootpassword:$mysqlrootpwd" echo"===========================" #which MySQLVersiondoyouwanttoinstall? echo "===========================" isinstallmysql56="n" echo"InstallMySQL5.6.25,Pleaseinputy" read-p"(Pleaseinputy,n):"isinstallmysql56 case"$isinstallmysql56"in y|Y|Yes|YES|yes|yES|yEs|YeS|yeS) echo"YouwillinstallMySQL5.6.25" isinstallmysql56="y" ;; *) echo"INPUTerror,YouwillexitinstallMySQL5.6.25" isinstallmysql56="n" exit esac get_char() { SAVEDSTTY=`stty-g` stty-echo sttycbreak #ddif=/dev/ttybs=1count=12>/dev/null stty-raw sttyecho stty$SAVEDSTTY } echo"" echo"Pressanykeytostart...orPressCtrl+ctocancel" char=`get_char` # Initializetheinstallationrelated content. function InitInstall() { cat/etc/issue uname-a MemTotal=`free-m|grepMem|awk'{print$2}'` echo-e"\nMemoryis:${MemTotal}MB" #Settimezone rm-rf/etc/localtime ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime #DeleteOldMysqlprogram rpm-qa|grepmysql rpm-emysql #yum-yremovemysql-servermysqlmysql-libs #yum-yremovephp-mysql #yum-yinstallyum-fastestmirror #yum-yupdate #DisableSeLinux if[-s/etc/selinux/config];then sed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config fi setenforce0 } #Installation ofdependonandoptimizationoptions. function InstallDependsAndOpt() { cd $cur_dir cat >>/etc/security/limits.conf<>/etc/sysctl.conf } #Install MySQL function InstallMySQL56() { echo "============================InstallMySQL 5.6.22==================================" cd $cur_dir #Backup oldmy.cnf #rm-f /etc/my.cnf if[-s /etc/my.cnf];then mv/etc/my.cnf/etc/my.cnf.`date +%Y%m%d%H%M%S`.bak fi #mysql directoryconfiguration groupadd mysql-g512 useradd-u512-gmysql-s/sbin/nologin-d/home/mysqlmysql tarxvf/root/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz mv/root/mysql-5.6.25-linux-glibc2.5-x86_64/usr/local/mysql mkdir-p/data/mysql mkdir-p/log/mysql chown-Rmysql:mysql/data/mysql chown-Rmysql:mysql/usr/local/mysql chown-Rmysql:mysql/log #edit/etc/my.cnf SERVERID=`ifconfigeth0|grep"inetaddr"|awk'{print$2}'|awk-F.'{print$4"3306"}'` cat >>/etc/my.cnf<>/etc/ld.so.conf.d/mysql-x86_64.conf<>/etc/profile</tmp/mysql_sec_script<&1|tee/root/mysql-install.log CheckAndDownloadFiles2>&1|tee-a/root/mysql-install.log InstallDependsAndOpt2>&1|tee-a/root/mysql-install.log InstallMySQL562>&1|tee-a/root/mysql-install.log CheckInstall2>&1|tee-a/root/mysql-install.log
执行脚本后,输入用户名密码(默认MANAGER)后登录数据库成功。
wKioL1fOIHTQR5ktAAElfoh_FOg089.jpg-wh_50
以上所述是小编给大家介绍的生产库自动化MySQL5.6安装部署详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









MySQL 설치 실패는 일반적으로 종속성 부족으로 인해 발생합니다. 솔루션 : 1. 시스템 패키지 관리자 (예 : Linux Apt, YUM 또는 DNF, Windows VisualC 재분배 가능)를 사용하여 Sudoaptinstalllibmysqlclient-dev와 같은 누락 된 종속성 라이브러리를 설치하십시오. 2. 오류 정보를주의 깊게 확인하고 복잡한 종속성을 하나씩 해결하십시오. 3. 패키지 관리자 소스가 올바르게 구성되어 네트워크에 액세스 할 수 있는지 확인하십시오. 4. Windows의 경우 필요한 런타임 라이브러리를 다운로드하여 설치하십시오. 공식 문서를 읽고 검색 엔진을 잘 활용하는 습관을 개발하면 문제를 효과적으로 해결할 수 있습니다.

7 백만 레코드를 효율적으로 처리하고 지리 공간 기술로 대화식지도를 만듭니다. 이 기사는 Laravel과 MySQL을 사용하여 7 백만 개 이상의 레코드를 효율적으로 처리하고 대화식지도 시각화로 변환하는 방법을 살펴 봅니다. 초기 챌린지 프로젝트 요구 사항 : MySQL 데이터베이스에서 7 백만 레코드를 사용하여 귀중한 통찰력을 추출합니다. 많은 사람들이 먼저 프로그래밍 언어를 고려하지만 데이터베이스 자체를 무시합니다. 요구 사항을 충족시킬 수 있습니까? 데이터 마이그레이션 또는 구조 조정이 필요합니까? MySQL이 큰 데이터로드를 견딜 수 있습니까? 예비 분석 : 주요 필터 및 속성을 식별해야합니다. 분석 후, 몇 가지 속성만이 솔루션과 관련이 있음이 밝혀졌습니다. 필터의 타당성을 확인하고 검색을 최적화하기위한 제한 사항을 설정했습니다. 도시를 기반으로 한지도 검색

DevOps 엔지니어는 종종 RDS 데이터베이스 최적화 및 업데이트, 특히 전통적인 방법이 다운 타임 위험이 발생하기 쉬운 높은로드 상황에서 업데이트의 과제에 직면합니다. 이 기사에서는 RDS 데이터베이스의 제로 다운 타임 업데이트를 달성하기 위해 AWS Blue/Green Deployment 전략을 소개합니다. 데이터베이스 업데이트 다운 타임의 악몽에 작별 인사를하십시오! 이 기사는 Blue/Green 배포 전략을 자세히 설명하고 AWS 환경에서 운영 단계를 제공하여 서비스 가용성에 영향을 미치지 않고 RDS 데이터베이스 인스턴스를 업데이트 할 수 있도록합니다. 먼저 준비 팀을 조정하고 업데이트를 위해 작업량 트래픽이 가장 낮은 기간을 선택하십시오. 좋은 DevOps는 팀에 미리 알리는 조언을 연습합니다. 이 예제는 Blue/Green 배포를 사용하여 다운 타임이 0으로 데이터베이스 인스턴스 저장 공간을 줄이는 방법을 보여줍니다. AWSRDS 콘솔을 사용할 수 있습니다

MySQL은 공유 잠금 장치 및 독점 잠금 장치를 사용하여 동시성을 관리하여 테이블 잠금, 행 잠금 및 페이지 잠금의 세 가지 잠금 유형을 제공합니다. 행 잠금은 동시성을 향상시키고 For Update 문을 사용하여 독점 잠금을 행에 추가 할 수 있습니다. 비관적 잠금은 충돌을 가정하고 낙관적 잠금은 버전 번호를 통해 데이터를 판단합니다. 일반적인 잠금 테이블 문제는 느린 쿼리로 나타납니다. Show ProcessList 명령을 사용하여 잠금 장치가 보유한 쿼리를보십시오. 최적화 측정에는 적절한 인덱스 선택, 트랜잭션 범위 감소, 배치 작업 및 SQL 문을 최적화하는 것이 포함됩니다.

MySQL 데이터베이스 작업에서 문자열 처리는 피할 수없는 링크입니다. substring_index 함수는이를 위해 설계되었으며,이를 위해 분리기를 기반으로 하위 문자를 효율적으로 추출 할 수 있습니다. substring_index function Application 예제 예제 다음 예는 substring_index 함수의 유연성과 실용성을 보여줍니다. 예를 들어 URL에서 특정 부품 추출 도메인 이름 : selectSubstring_index ( 'www.mysql.com', ', 2); 파일 확장자를 쉽게 얻기 위해 파일 확장 추출 : selectSubstring_index ( 'file.pdf', '.', -1); 처리는 존재하지 않습니다

생산 환경의 경우 성능, 신뢰성, 보안 및 확장 성을 포함한 이유로 서버는 일반적으로 MySQL을 실행해야합니다. 서버에는 일반적으로보다 강력한 하드웨어, 중복 구성 및 엄격한 보안 조치가 있습니다. 소규모 저하 애플리케이션의 경우 MySQL이 로컬 컴퓨터에서 실행할 수 있지만 자원 소비, 보안 위험 및 유지 보수 비용은 신중하게 고려되어야합니다. 신뢰성과 보안을 높이려면 MySQL을 클라우드 또는 기타 서버에 배포해야합니다. 적절한 서버 구성을 선택하려면 응용 프로그램 부하 및 데이터 볼륨을 기반으로 평가가 필요합니다.

MySQL은 기본 데이터 저장 및 관리를위한 네트워크 연결없이 실행할 수 있습니다. 그러나 다른 시스템과의 상호 작용, 원격 액세스 또는 복제 및 클러스터링과 같은 고급 기능을 사용하려면 네트워크 연결이 필요합니다. 또한 보안 측정 (예 : 방화벽), 성능 최적화 (올바른 네트워크 연결 선택) 및 데이터 백업은 인터넷에 연결하는 데 중요합니다.

MySQL 시작이 실패하는 데는 여러 가지 이유가 있으며 오류 로그를 확인하여 진단 할 수 있습니다. 일반적인 원인에는 포트 충돌 (포트 점유 체크 및 구성 수정), 권한 문제 (서비스 실행 사용자 권한 실행), 구성 파일 오류 (파라미터 설정 확인), 데이터 디렉토리 손상 (데이터 복원 또는 테이블 공간 재건), IBDATA 테이블 공간 문제 (IBDATA1 파일 확인), 플러그로드 (확인 오류 로그)가 포함됩니다. 문제를 해결할 때 오류 로그를 기반으로 문제를 분석하고 문제의 근본 원인을 찾고 문제를 방지하고 해결하기 위해 정기적으로 데이터를 백업하는 습관을 개발해야합니다.
