MySQL 읽기 전용 오류, 권한 설정 및 SELinux AFAICT가 정확함

MySQL 읽기 전용 오류, 권한 설정 및 SELinux AFAICT가 정확함

저는 MySQL과 Linux를 처음 사용하기 때문에 이전 MySQL 버전(5.1)의 문제로 인해 mysqldump를 사용하고 MySQL 5.6을 설치했습니다. 모든 것을 새 폴더에 복사하고 기본 디렉터리의 새 폴더에 대한 심볼릭 링크를 설정하여 datadir 위치를 변경했습니다. 권한을 755로 설정하고 사용자와 그룹을 mysql로 ​​설정했습니다. ls -aZ를 사용하면 다음을 얻습니다.

drwxr-xr-x. mysql    mysql    unconfined_u:object_r:mysqld_db_t:s0 mysql

정확한 오류 메시지는 다음과 같습니다.

  1. 그리고 mysql_install_db --user=mysql --datadir=new_dir:

    [Note] InnoDB: 5.6.24 started; log sequence number 1600717
    ERROR: 1036  Table 'db' is read only
    [ERROR] Aborting
    
  2. 내가 찾은 것 /var/log/mysqld.log:

    [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
    [ERROR] Fatal error: Can't open and lock privilege tables: Table 'user' is read only`
    

그런데 mysql이 실행되고 있지 않아서 실행할 수 없습니다 mysql_upgrade. 나는 항상 다음을 얻습니다.

    MySQL Daemon failed to start.
    Starting mysqld:  [FAILED]

시도할 때:service mysqld start

이 문제를 해결하는 방법에 대한 제안 사항이 있으면 알려 주시기 바랍니다. 정말 고마워요!

업데이트: 제안해 주신 apaul에게 감사드립니다!

  1. 저장소를 설치 yum한 다음 mysql을 추가로 설치했습니다 yum.
  2. mysql 설치 후 나타나는 mysql 폴더와 ibdata1, ib_logfile0, ib_logfile1 파일과 성능 구성표만 복사했습니다. 실제 데이터 데이터베이스와 비교해 mysql 폴더를 덤프하거나 삭제하지 않았기 때문입니다. 제안을 따르세요여기.
  3. 명령을 실행하는 동안 l도 사용했습니다 --datadir.--user=mysqmysql_install_db
  4. 모든 mysql 디렉토리는 755이므로 실행 가능해야 합니다. 하지만 제 기억으로는 5.6으로 변경되기 전에는 700개밖에 없었습니다.

또한 테스트했습니다. 컴퓨터를 다시 시작하고 datadir의 실제 경로와 my.cnf에 있는 심볼릭 링크의 경로를 시도했습니다.

관련 정보