>  기사  >  데이터 베이스  >  CentOS에서 mysql을 오프라인으로 설치하는 방법

CentOS에서 mysql을 오프라인으로 설치하는 방법

藏色散人
藏色散人원래의
2023-02-15 09:56:263716검색

centos에서 mysql을 오프라인으로 설치하는 방법: 1. lib의 모든 종속 항목을 Linux에 업로드하고 yum 명령을 사용하여 설치합니다. 2. MySQL의 압축을 풀고 설치하려는 디렉터리에 파일을 복사합니다. .cnf 구성 파일 4. 시작 스크립트를 리소스 디렉터리에 복사하고 시작 스크립트를 수정합니다. 5. mysqld 서비스를 시스템 서비스에 추가합니다. 6. mysql 클라이언트를 환경 변수에 구성하고 구성을 적용합니다.

CentOS에서 mysql을 오프라인으로 설치하는 방법

이 튜토리얼의 운영 환경: centOS 7 시스템, MySQL 버전 5.6, Dell G3 컴퓨터.

centos에서 mysql을 오프라인으로 설치하는 방법은 무엇입니까?

centOS 7 오프라인 설치 MySQL 5.6

환경 준비

1. 오프라인 centOS 7(여기서 centOS 7 최소 설치)

2.nginx 설치 파일(mysql-5.6.51-linux-) glibc2.12-x86_64.tar.gz는 아래 링크에 있습니다. 직접 다운로드하거나 공식 웹사이트에 가서 최신 버전을 다운로드하세요.)

3.nginx 종속 패키지(현재 lib 디렉토리에 위치) 직접 다운로드하세요)

현재 설치에 필요한 모든 패키지와 종속 항목은 다음 주소

https://gitee.com/livekeys/linux-offline-installation-software

1에서 해당 소프트웨어에 따라 다운로드할 수 있습니다. , 이전 구성 파일 /etc/my.cnf

[root@localhost ~]# rpm -qa | grep mariadb*
mariadb-libs-5.5.56-2.el7.x86_64
[root@localhost ~]# rpm -e mariadb-libs --nodeps
[root@localhost ~]# rpm -qa | grep mariadb*
[root@localhost ~]# rm -f /etc/my.cnf
[root@localhost ~]#

2를 삭제합니다. 종속성 설치

lib의 모든 종속성을 Linux에 업로드하고 명령으로 설치합니다

[root@localhost lib]# yum -y localinstall *.rpm

3. 압축을 풀고 파일을 복사합니다. 설치하려는 디렉토리로 이동합니다(여기서는 설치 디렉토리로 /opt/mysql을 사용합니다).

[root@localhost mysql_install]# tar -xzvf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
[root@localhost mysql_install]# ls
lib  mysql-5.6.51-linux-glibc2.12-x86_64  mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz
[root@localhost mysql_install]# cp -R mysql-5.6.51-linux-glibc2.12-x86_64 /opt/mysql
[root@localhost mysql_install]# cd /opt/mysql
[root@localhost mysql]# ls
bin  data  docs  include  lib  LICENSE  man  mysql-test  README  scripts  share  sql-bench  support-files
2. 새로운 mysql 그룹과 mysql 사용자를 생성하고 mysql 디렉토리를 mysql 사용자 그룹으로 바꿉니다.

[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -g mysql mysql
[root@localhost mysql]# cd ..
[root@localhost opt]# ls
mysql
[root@localhost opt]# chown -R mysql:mysql mysql
[root@localhost opt]# ll
total 0
drwxr-xr-x. 13 mysql mysql 191 Mar 23 01:42 mysql
[root@localhost opt]# cd mysql
[root@localhost mysql]# ll
total 224
drwxr-xr-x.  2 mysql mysql   4096 Mar 23 01:42 bin
drwxr-xr-x.  3 mysql mysql     18 Mar 23 01:42 data
drwxr-xr-x.  2 mysql mysql     55 Mar 23 01:42 docs
drwxr-xr-x.  3 mysql mysql   4096 Mar 23 01:42 include
drwxr-xr-x.  3 mysql mysql   4096 Mar 23 01:42 lib
-rw-r--r--.  1 mysql mysql 200256 Mar 23 01:42 LICENSE
drwxr-xr-x.  4 mysql mysql     30 Mar 23 01:42 man
drwxr-xr-x. 10 mysql mysql   4096 Mar 23 01:42 mysql-test
-rw-r--r--.  1 mysql mysql    566 Mar 23 01:42 README
drwxr-xr-x.  2 mysql mysql     30 Mar 23 01:42 scripts
drwxr-xr-x. 28 mysql mysql   4096 Mar 23 01:42 share
drwxr-xr-x.  4 mysql mysql   4096 Mar 23 01:42 sql-bench
drwxr-xr-x.  2 mysql mysql    136 Mar 23 01:42 support-files

3. 새로운 /var/를 생성합니다. lib/mysql 디렉토리는 mysq.sock을 저장하는 데 사용되며(다른 디렉토리를 생성할 수도 있음), 디렉토리 그룹을 myql

[root@localhost mysql]# mkdir /var/lib/mysql
[root@localhost mysql]# chown -R mysql:mysql /var/lib/mysql
[root@localhost mysql]# ls -al /var/lib/mysql
total 4
drwxr-xr-x.  2 mysql mysql    6 Mar 23 01:51 .
drwxr-xr-x. 26 root  root  4096 Mar 23 01:51 ..
4로 변경합니다.

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
Installing MySQL system tables...2022-03-23 01:53:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-03-23 01:53:51 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2022-03-23 01:53:51 0 [Note] /opt/mysql/bin/mysqld (mysqld 5.6.51) starting as process 13346 ...
2022-03-23 01:53:51 13346 [Note] InnoDB: Using atomics to ref count buffer pool pages
2022-03-23 01:53:51 13346 [Note] InnoDB: The InnoDB memory heap is disabled
2022-03-23 01:53:51 13346 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-03-23 01:53:51 13346 [Note] InnoDB: Memory barrier is not used
2022-03-23 01:53:51 13346 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-03-23 01:53:51 13346 [Note] InnoDB: Using Linux native AIO
2022-03-23 01:53:51 13346 [Note] InnoDB: Using CPU crc32 instructions
2022-03-23 01:53:51 13346 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2022-03-23 01:53:51 13346 [Note] InnoDB: Completed initialization of buffer pool
2022-03-23 01:53:51 13346 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2022-03-23 01:53:51 13346 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2022-03-23 01:53:51 13346 [Note] InnoDB: Database physically writes the file full: wait...
2022-03-23 01:53:51 13346 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2022-03-23 01:53:51 13346 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2022-03-23 01:53:51 13346 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2022-03-23 01:53:51 13346 [Warning] InnoDB: New log files created, LSN=45781
2022-03-23 01:53:51 13346 [Note] InnoDB: Doublewrite buffer not found: creating new
2022-03-23 01:53:51 13346 [Note] InnoDB: Doublewrite buffer created
2022-03-23 01:53:51 13346 [Note] InnoDB: 128 rollback segment(s) are active.
2022-03-23 01:53:51 13346 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-03-23 01:53:51 13346 [Note] InnoDB: Foreign key constraint system tables created
2022-03-23 01:53:51 13346 [Note] InnoDB: Creating tablespace and datafile system tables.
2022-03-23 01:53:51 13346 [Note] InnoDB: Tablespace and datafile system tables created.
2022-03-23 01:53:51 13346 [Note] InnoDB: Waiting for purge to start
2022-03-23 01:53:51 13346 [Note] InnoDB: 5.6.51 started; log sequence number 0
2022-03-23 01:53:51 13346 [Note] RSA private key file not found: /opt/mysql/data//private_key.pem. Some authentication plugins will not work.
2022-03-23 01:53:51 13346 [Note] RSA public key file not found: /opt/mysql/data//public_key.pem. Some authentication plugins will not work.
2022-03-23 01:53:51 13346 [Note] Binlog end
2022-03-23 01:53:51 13346 [Note] InnoDB: FTS optimize thread exiting.
2022-03-23 01:53:51 13346 [Note] InnoDB: Starting shutdown...
2022-03-23 01:53:53 13346 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK

Filling help tables...2022-03-23 01:53:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-03-23 01:53:53 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2022-03-23 01:53:53 0 [Note] /opt/mysql/bin/mysqld (mysqld 5.6.51) starting as process 13368 ...
2022-03-23 01:53:53 13368 [Note] InnoDB: Using atomics to ref count buffer pool pages
2022-03-23 01:53:53 13368 [Note] InnoDB: The InnoDB memory heap is disabled
2022-03-23 01:53:53 13368 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-03-23 01:53:53 13368 [Note] InnoDB: Memory barrier is not used
2022-03-23 01:53:53 13368 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-03-23 01:53:53 13368 [Note] InnoDB: Using Linux native AIO
2022-03-23 01:53:53 13368 [Note] InnoDB: Using CPU crc32 instructions
2022-03-23 01:53:53 13368 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2022-03-23 01:53:53 13368 [Note] InnoDB: Completed initialization of buffer pool
2022-03-23 01:53:53 13368 [Note] InnoDB: Highest supported file format is Barracuda.
2022-03-23 01:53:53 13368 [Note] InnoDB: 128 rollback segment(s) are active.
2022-03-23 01:53:53 13368 [Note] InnoDB: Waiting for purge to start
2022-03-23 01:53:53 13368 [Note] InnoDB: 5.6.51 started; log sequence number 1625977
2022-03-23 01:53:53 13368 [Note] RSA private key file not found: /opt/mysql/data//private_key.pem. Some authentication plugins will not work.
2022-03-23 01:53:53 13368 [Note] RSA public key file not found: /opt/mysql/data//public_key.pem. Some authentication plugins will not work.
2022-03-23 01:53:53 13368 [Note] Binlog end
2022-03-23 01:53:53 13368 [Note] InnoDB: FTS optimize thread exiting.
2022-03-23 01:53:53 13368 [Note] InnoDB: Starting shutdown...
2022-03-23 01:53:55 13368 [Note] InnoDB: Shutdown completed; log sequence number 1625987
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /opt/mysql/bin/mysqladmin -u root password 'new-password'
  /opt/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:

  /opt/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /opt/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /opt/mysql/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
4. 구성 복사 및 수정

[root@localhost mysql]# cp ./support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# chown mysql:mysql /etc/my.cnf
[root@localhost mysql]# chmod 644 /etc/my.cnf

my.cnf 구성 파일의 내용은 다음과 같습니다.

(여기서 필요에 따라 다른 구성을 수정하세요.)

다음 사항에 유의하세요. 포인트:

socket 위의 세 번째 단계를 작성합니다. 새로 생성된 디렉터리basedir는 mysql 설치 디렉터리입니다.datadir 는 데이터 디렉터리입니다(여기서는 mysql 설치 디렉터리 아래의 데이터 디렉터리입니다). li>

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#设置 13306 端口
port = 13306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/opt/mysql
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
5. 시작 스크립트를 리소스 디렉터리에 복사하세요
    [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
    [root@localhost mysql]# chown mysql:mysql /etc/rc.d/init.d/mysqld
  • 6. scriptsocket 写上面我们第三步新建的那个目录
  • basedir 为 mysql 安装目录
  • datadir 为数据目录(这里是 mysql 安装目录下的 data 目录)
  • [root@localhost mysql]# vim /etc/rc.d/init.d/mysqld

    5、复制启动脚本到资源目录

    basedir=/opt/mysql
    datadir=/opt/mysql/data

    6、修改启动脚本

    [root@localhost mysql]# chkconfig --add mysqld
    [root@localhost mysql]# chkconfig --list mysqld
    
    Note: This output shows SysV services only and does not include native
          systemd services. SysV configuration data might be overridden by native
          systemd configuration.
    
          If you want to list systemd services use 'systemctl list-unit-files'.
          To see services enabled on particular target use
          'systemctl list-dependencies [target]'.
    
    mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

    注:因为,我没有将 mysql 安装在 /usr/local/mysql 目录下,所以在启动文件里需要修改以下两个值

    [root@localhost mysql]# systemctl start mysql
    [root@localhost mysql]# systemctl status mysql
    ● mysqld.service - LSB: start and stop MySQL
       Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
       Active: active (running) since Wed 2022-03-23 02:11:17 EDT; 5s ago
         Docs: man:systemd-sysv-generator(8)
      Process: 13452 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
       CGroup: /system.slice/mysqld.service
               ├─13463 /bin/sh /opt/mysql/bin/mysqld_safe --datadir=/opt/mysql/data --pid-file=/opt/mysql/data/lo...
               └─13688 /opt/mysql/bin/mysqld --basedir=/opt/mysql --datadir=/opt/mysql/data --plugin-dir=/opt/mys...
    
    Mar 23 02:11:16 localhost.localdomain systemd[1]: Starting LSB: start and stop MySQL...
    Mar 23 02:11:16 localhost.localdomain mysqld[13452]: Starting MySQL.Logging to '/opt/mysql/data/localhost....r'.
    Mar 23 02:11:17 localhost.localdomain mysqld[13452]: SUCCESS!
    Mar 23 02:11:17 localhost.localdomain systemd[1]: Started LSB: start and stop MySQL.
    Hint: Some lines were ellipsized, use -l to show in full.

    7、将 mysqld 服务加入到系统服务里面

    [root@localhost mysql]# vim /etc/profile
    # 在末尾增加以下两行
    export MYSQL_HOME=/opt/mysql
    export PATH=$MYSQL_HOME/bin:$PATH
    [root@localhost mysql]# source /etc/profile

    8、使用命令 systemctl 启动 mysql 服务(Active 状态为 active (running) 即为启动成功)

    [root@localhost ~]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.51 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>

    9、将 mysql 客户端配置到环境变量中,并使配置生效

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> update user set password=password('P@ssw0rd') where user='root' and host='localhost';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

    10、测试是否能连接 mysql

    注:第一次登录不需要密码,直接回车就行

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> grant all privileges on *.* to 'root'@'%' identified by 'P@ssw0rd' with grant option;
    Query OK, 0 rows affected (0.00 sec)

    11、配置 root 账号的密码为 P@ssw0rd

    [root@localhost ~]# systemctl restart mysql
    [root@localhost ~]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.51 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql>
    참고: /usr/local/mysql 디렉터리에 mysql을 설치하지 않았기 때문에 시작 파일에서 다음 두 값을 수정해야 합니다

    rrreee

    7. mysqld 서비스를 시스템 서비스에 추가합니다.

    rrreee

    8 명령 systemctl을 사용하여 mysql 서비스를 시작합니다. (활성 상태는 시작이 성공했음을 의미합니다.)

    rrreee9 mysql 클라이언트를 환경 변수에 구성하고 구성을 적용합니다 rrreee

    10. mysql

    에 연결할 수 있는지 테스트하세요. 참고:

    첫 번째 로그인에는 비밀번호가 필요하지 않습니다. Enter를 누르기만 하면 됩니다.rrreee11 구성 루트 계정의 비밀번호는 P@ssw0rd

    rrreee
    12. 원격 호스트 로그인을 설정합니다🎜rrreee🎜13. mysqld 서비스를 다시 시작하고 로그인을 테스트합니다🎜rrreee🎜🎜이제 mysql 5.6 설치가 완료되었습니다🎜🎜🎜🎜 실수가 있으면 메시지를 남겨서 수정하세요. 감사합니다! 🎜🎜추천 학습: "🎜MySQL 비디오 튜토리얼🎜"🎜🎜

    위 내용은 CentOS에서 mysql을 오프라인으로 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.