MySQL의 마이그레이션 업그레이드 솔루션

배경 작업


MySQL의 마이그레이션 업그레이드 솔루션


기존의 사업 구조는, 현재의 비즈니스 요구 사항을 충족하는 전제 하에서 데이터 무결성을 보장 할 수 없었다, 당신은 보장하기 위해 정상적인 서비스의 경우, 또한 별도의 서버에 기존 데이터베이스를 마이그레이션하는 데 필요한 것을 원래, 원래 LAMP MySQL 데이터베이스 환경은 버전 5.6.31 5.6.35로 업그레이드.

미션 요구 사항

정주 불임 병원 : HTTP : //jbk.39.net/yiyuanzaixian/zztjyy//

서비스 유지 보수 시간 1. (02 : 00-4 : 00) 데이터베이스 전체 백업의 세그먼트

2. MySQL 데이터베이스 이전 서버에서 새 서버로 마이그레이션 및 업그레이드 버전 5.6.35

작업 해체

1. 새 서버 설치 Centos7.5, 데이터베이스의 MySQL을 5.6.35 버전을 설치

2. 정지 제어는, 프런트 엔드 응용 프로그램을 중지 MySQL 데이터베이스를 중지

3. 대기 데이터베이스 (생략)

4. 데이터베이스 마이그레이션 -> 새로운 환경 (rsync를 / SCP)에 데이터베이스 파일을 동기화

5. 시험 확인

작업 솔루션

환경 설명

MySQL의 마이그레이션 업그레이드 솔루션


특정 단계

1. 해당 서비스 이전 환경을 중지

1) 정지) 약간 2를 모니터링 아파치 서비스 응용 프로그램 및 데이터베이스를 중지 [루트 @ 램프 ~] # 서비스 아파치 정지 [루트 @ 램프 ~]의 MySQL을 stopShutting # 서비스 mysql을 .. 성공!

2. MySQL 설치하기 새 전개 환경을

소프트웨어 MySQL을 다운로드하는 공식 웹 사이트를 ①

# 뒤 -SH mysql을 - 5.6.35 - 리눅스 glibc2.5-x86_64.tar.gz301M mysql을 - 5.6.35 - 리눅스 glibc2.5-x86_64.tar.gz

② 설치 요구 사항

설치 디렉토리 (기본 디렉토리) : / usr / 지방 / MySQL 데이터베이스 디렉토리 (DATADIR)의 경우 / usr / local / mysql / 데이터 포트 : 3306socket 파일 : /tmp/mysql.sock 오류 로그 파일 : / usr / 지방 / mysql을 / 데이터 / mysql.err

설치 절차 ③의 glibc

1) 패키지를 추출

# tar -xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz# cd /usr/local/# ln -s /soft/×××taller/mysql-5.6.35-linux-glibc2.5-x86_64 mysql注意:进入到/usr/local目录里软连接

2) 创建用户并修改目录权限

1. 查看用户是否存在[root@db01 mysql]# id mysqlid: mysql: no such user[root@db01 mysql]# useradd -r -s /sbin/nologin mysql[root@db01 mysql]# id mysqluid=997(mysql) gid=995(mysql) 组=995(mysql)2. 更改mysql的安装目录的权限[root@db01 mysql]# chown -R mysql.mysql /usr/local/mysql/[root@db01 mysql]# ll -d /usr/local/mysql/drwxr-xr-x 13 mysql mysql 191 10月 9 10:26 /usr/local/mysql/

3) 修改配置文件

修改/etc/my.cnf文件[root@db01 mysql]# vim /etc/my.cnf[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport=3307socket=/usr/local/mysql/mysql.socklog-error=/usr/local/mysql/data/mysql3307.err

4) 拷贝启动脚本

[root@db01 mysql]# pwd/usr/local/mysql[root@db01 mysql]# cp support-files/mysql.server /etc/init.d/mysql

5) 初始化说明

1. 正常安装新数据库直接使用,是需要初始化数据库然后再启动使用

2. 当前需求是将原来MySQL数据库文件迁移到新的数据库的数据目录里,故不需要初始化

3. 迁移数据库到新环境

说明:新数据库服务器上操作

① 同步老库数据文件到新库数据目录里

[root@db01 mysql]# rsync -av 10.1.1.1:/usr/local/mysql/data/ /usr/local/mysql/data

② 启动新数据库

直接启动新的数据库,并且检查日志文件(查看是否有选项不兼容)[root@db01 mysql]# service mysql start

③ 升级数据库(重点,升级数据库文件)

使用mysql_upgrade命令检查数据文件的兼容性[root@db01 ~]# /usr/local/mysql/bin/mysql_upgrade -S /tmp/mysql.sock -p123注意:1. 在实际的环境中,建议使用-s参数,不检查业务表,只检查系统文件2. 升级是需要连接数据库的,-p密码 -S指定socket文件[root@db01 mysql]# /usr/local/mysql/bin/mysql_upgrade -pEnter password:Looking for 'mysql' as: /usr/local/mysql/bin/mysqlLooking for 'mysqlcheck' as: /usr/local/mysql/bin/mysqlcheckError: Failed while fetching Server version! Could be due to unauthorized access.FATAL ERROR: Upgrade failed原因:连接数据库失败

4. 原web服务连接新数据库(LAMP=>LNMP)

① 修改php连接mysql的配置文件(如果有)

[root@lamp ~]# find / -name php.ini/usr/local/lib/php.ini[root@lamp ~]# vim /usr/local/lib/php.ini[MySQL]mysql.default_port = 3306mysql.default_host = 10.1.1.37[MySQLi]mysql.default_port = 3306mysql.default_host = 10.1.1.37

② 修改网站配置文件连接数据库

修改www.myblog.net网站所在数据库目录的配置文件[root@lamp www]# pwd/var/html/www[root@lamp www]# vim wp-config.php...// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** ///** WordPress数据库的名称 */define('DB_NAME', 'myblog');/** MySQL数据库用户名 */define('DB_USER', 'root');/** MySQL数据库密码 */define('DB_PASSWORD', '123');/** MySQL主机 */define('DB_HOST', '10.1.1.37');/** 创建数据表时默认的文字编码 */define('DB_CHARSET', 'utf8');

③ 新数据库授权为web服务

새로운 MySQL 데이터베이스는 [email protected] 사용자의 MySQL> 부여 모두에서 * * ​​'123';. 쿼리 확인에 의해 확인 된 'root'@'10.1.1.19'로, 0 행에 영향 (0.00 초) MySQL의> 플러시에 인증이 필요합니다 권한, 쿼리 확인, 0 행이 영향 (0.00 초) 참고 : firewalld 방화벽 및 SELinux를 모두 폐쇄, 또는 살인이 연결되어 있지 않습니다!

웹 서비스를 시작 ④

[루트 @ 램프가 ~] # 서비스 아파치 시작 [루트 @ 램프 ~] #에서 netstat -nltp | 그렙 httpdtcp 0 0 ::: 80 ::: * LISTEN 1376 / 아파치

⑤ 검증 테스트

1. 원격 액세스 도구 mysql을 액세스하는 브라우저를 사용하여 [루트 @ 램프를 ~] 2. 서버 웹 # mysql을 -uroot -h10.1.1.37 -uroot -p123

자원을 학습 :

티안 재미  MySQL을

https://pan.baidu.com/s/1Cb1eGwb4dn45I4tbQ2Ggzg    추출 코드 : yfw6 

https://pan.baidu.com/s/1qXYYhcS    추출 코드 :  mkqu


추천

출처blog.51cto.com/14393794/2409399