MySQL 성능이 5.1에서 5.5+로 크게 향상된다는 관련 테스트 데이터가 있습니다. 구체적으로 이를 연습하려면 테스트 환경을 설정하고 업그레이드의 구체적인 단계를 기록해 보겠습니다. CentOS 6.4 환경에서 MySQL 5.1을 5.5.36으로 업그레이드하는 과정에 있는 모든 분들에게 참고가 되기를 바랍니다.
1. 안전상의 이유로 먼저 원본 데이터를 백업해야 합니다
2. 원본 MySQL을 제거하고 먼저 원본 MySQL 서비스를 중지한 다음 / -name mysql
[root@linuxidc /]# find / -name mysql /var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql
을 검색하여 서비스를 제거합니다
[root@linuxidc /]# rm -rf /var/lib/mysql [root@linuxidc /]# rm -rf /var/lib/mysql [root@linuxidc /]# rm -rf /usr/lib64/mysql
3. cmake
[root@linuxidc download]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz [root@linuxidc download]# tarx zvfc cmake-2.8.12.2.tar.gz [root@linuxidc download]# cd cmake-2.8.12.2 [root@linuxidc cmake-2.8.12.2]# ./configure [root@linuxidc cmake-2.8.12.2]# make && make install
4를 다운로드하고 설치하세요. MySQL5.5.36
[root@linuxidc download]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz [root@linuxidc download]# tar xzvf mysql-5.5.36.tar.gz [root@linuxidc download]# cd mysql-5.5.36 [root@linuxidc mysql-5.5.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/mysql [root@linuxidc mysql-5.5.36]# make && make install
cmake 프로세스 중에 오류가 발생하여 Could NOT find Curses(missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
실행 후 cmake를 계속 실행하세요. , 그런 다음 make && make install
[root@localhost mysql-5.5.36]# rm CMakeCache.txt [root@localhost mysql-5.5.36]# yum install ncurses-devel
5 다음으로 이전에 백업한 my.cnf 파일을 /etc/my.cnf
MySQL에서 /etc/my.cnf /etc/mysql/로 복사해야 합니다. my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf. 왼쪽
파일의 우선순위가 가장 높습니다6. 구성 후 mysql을 시작했는데 문제가 발견되었습니다. MySQL 시작 메시지: PID 파일을 업데이트하지 않고 서버가 종료되었습니다(...). 실패
my.cnf를 확인하세요. 파일 설정 로그 파일 주소는 /var/log/mysqld.log이며, 오류 메시지는 다음과 같습니다
170715 12:31:36 mysqld_safe mysqld from pid file /var/lib/mysql/linuxidc.pid ended 170715 12:57:48 mysqld_safe Starting mysqld daemon with databases from /home/mysql 170715 12:57:48 InnoDB: The InnoDB memory heap is disabled 170715 12:57:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins 170715 12:57:48 InnoDB: Compressed tables use zlib 1.2.3 170715 12:57:48 InnoDB: Initializing buffer pool, size = 128.0M 170715 12:57:48 InnoDB: Completed initialization of buffer pool 170715 12:57:48 InnoDB: highest supported file format is Barracuda. 170715 12:57:48 InnoDB: Waiting for the background threads to start 170715 12:57:49 InnoDB: 5.5.36 started; log sequence number 2645823 170715 12:57:49 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8' 170715 12:57:49 [ERROR] Aborting
이 오류는 /etc/my.cnf
구성 파일에 있는 [mysqld] 설정문자 집합으로 인해 발생합니다. 해결 방법: default-character-set=utf8을 Character_set_server=utf87로 변경합니다. mysql -u root -p 명령을 통해 mysql에 연결합니다. (이전에 mysql을 설치한 적이 있고 데이터베이스 파일이 아직 남아 있으므로
사용자를 추가오류 메시지가 나타났습니다: ERROR 2002(HY000): 로컬 MySQL에 연결할 수 없습니다. 소켓 '/tmp/mysql.sock'을 통해 서버를 연결하세요오류가 발생하는 이유는 mysql.sock 파일이 /usr/lib/mysql/ 폴더에 있기 때문입니다
다음 명령을 통해 연결을 시도하고 확인할 수 있습니다. mysql 버전
[root@linuxidc var]# mysql -u root -p -S /usr/lib/mysql/mysql.sock mysql> select version(); +-----------+ | version() | +-----------+ | 5.5.36 | +-----------+ 1 row in set (0.00 sec)
위 내용은 CentOS 시스템에서 MySQL5.1을 5.5.36으로 업그레이드하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!