Bagaimana untuk menyusun dan memasang MySQL 8.0 pada CentOS7

WBOY
Lepaskan: 2023-05-30 10:04:12
ke hadapan
854 orang telah melayarinya

CentOS Terdapat banyak tutorial tentang menyusun dan memasang MySQL dalam talian, dan ia pada asasnya adalah sama. Walau bagaimanapun, kadangkala pemasangan perisian mungkin gagal disebabkan oleh perincian.

CentOS7怎么编译安装MySQL 8.0

0 syarat penyediaan awal

•Semak versi linux

[root@mysql etc]# cat /etc/RedHat-releaseCentOS Linux release 7.3.1611 (Core)

•Could NOT find Curses

yum install ncurses-devel

•Bison executable not found in PATH

yum install bison
Salin selepas log masuk

Nota: Pakej asas akan hilang semasa pemasangan Proses. Persekitaran contoh tidak mempunyai pakej di atas, sila pasang pakej yang sepadan terlebih dahulu

1 Kompilasi sumber dan pemasangan cmake

[root@db software]# nohup tar zxvf cmake-3.11.1.tar.gz &[root@db software]# cd cmake-3.11.1[root@db cmake-3.11.1]# ./configure[root@localhost cmake-3.0.1]# gmake && make install
Salin selepas log masuk

2 🎜>

*. 从wolfssl.com网站下载wolfssl-3.13.0.zip压缩包
*. 解压至/data/software/mysql-8.0.11/extra/wolfssl-3.13.0目录中。
*. cd extra/wolfssl-3.13.0/IDE/MYSQL
*. 执行do.sh脚本
*. use -DWITH_SSL=wolfssl for CMake
Salin selepas log masuk


3.openssl dan openssl-devel [percubaan ini menggunakan sistem ssl]

yum install –y openssl openssl-devel
Salin selepas log masuk


4.kompilasi mysql dan pemasangan

[root@mysql software]#tar zxvf mysql-8.0.11.tar.gz[root@mysql software]# cd mysql-8.0.11/[root@mysql software]# mkdir Zdebug[root@mysql software]# cd Zdebugcmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT="zsd edition" \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/tmp \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock \
-DSYSCONFDIR=/data/mysqldata/3306 > /data/software/mysql-8.0.11/Zdebug/mysql_cmake80.log 2>&1
Salin selepas log masuk

Log berikut muncul:

............
-- Configuring done-- Generating done-- Build files have been written to: /data/software/mysql-8.0.11/Zdebug
............
Salin selepas log masuk

Menunjukkan bahawa kompilasi berjaya -DWITH_SSL=sistem menggunakan openssl sistem pengendalian Linux Anda perlu memasang pakej openssl dan openssl-devel sebelum ia boleh disusun

Jika anda perlu menyusun dan memasang dengan cepat, anda boleh menggunakan multi-threading untuk mempercepatkan kompilasi dan pemasangan adalah seperti berikut:

make -j 12
make install
Salin selepas log masuk

•The struktur direktori perisian MySQL 8.0

[root@mysql Zdebug]# cd /usr/local/mysql/[root@mysql mysql]# ls -ltotal 612
drwxr-xr-x. 2 root root 4096 May 16 14:20 bin
drwxr-xr-x. 2 root root 55 May 16 14:20 docs
drwxr-xr-x. 3 root root 266 May 16 14:20 include
drwxr-xr-x. 4 root root 173 May 16 14:20 lib
-rw-r--r--. 1 root root 301518 Apr 8 14:44 LICENSE
-rw-r--r--. 1 root root 301518 Apr 8 14:44 LICENSE-test
drwxr-xr-x. 4 root root 30 May 16 14:20 man
drwxr-xr-x. 10 root root 4096 May 16 14:21 mysql-test
-rw-r--r--. 1 root root 687 Apr 8 14:44 README
-rw-r--r--. 1 root root 687 Apr 8 14:44 README-test
drwxr-xr-x. 28 root root 4096 May 16 14:21 share
drwxr-xr-x. 2 root root 90 May 16 14:21 support-files
Salin selepas log masuk

5 Cipta pengguna mysql& dan ubah suai Fail yang berkaitan

[root@mysql mysql]# groupadd mysql[root@mysql mysql]# useradd -g mysql mysql
Salin selepas log masuk

6. Tetapkan had sumber sistem pengendalian pengguna

[root@localhost cmake-3.0.1]# vi /etc/security/limits.confmysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65536
mysql hard nofile 65536
Salin selepas log masuk

Sahkan sama ada hadnya. berkuat kuasa

[root@mysql ~]# su - mysql[mysql@mysql ~]$ ulimit -a
Salin selepas log masuk

Lognya adalah seperti berikut:

open files (-n) 65536
max user processes (-u) 65536
............
Salin selepas log masuk

7 Cipta Direktori data MySQL dan berikan kebenaran yang sepadan

#cd /data/#mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,innodb_ts,innodb_log},backup,scripts}#chown -R mysql:mysql mysqldata#su - mysql
Salin selepas log masuk

8 Konfigurasikan fail my.cnf >
$vi /data/mysqldata/3306/my.cnf

[client]
port = 3306
socket = /data/mysqldata/3306/mysql.sock# The MySQL server[mysqld]
port = 3306
user = mysql
socket = /data/mysqldata/3306/mysql.sock
pid-file = /data/mysqldata/3306/mysql.pid
basedir = /usr/local/mysql
datadir = /data/mysqldata/3306/data
tmpdir = /data/mysqldata/3306/tmp
open_files_limit = 60000
explicit_defaults_for_timestamp
server-id = 1203306
lower_case_table_names = 1
character-set-server = utf8
federated#sql_mode=STRICT_TRANS_TABLESmax_connections = 1000
max_connect_errors = 100000
interactive_timeout = 86400
wait_timeout = 86400
sync_binlog=0
back_log=100
default-storage-engine = InnoDB
log_slave_updates = 1#*********** Logs related settings ***********log-bin = /data/mysqldata/3306/binlog/mysql-bin
binlog_format= mixed
binlog_cache_size=32m
max_binlog_cache_size=64m
max_binlog_size=512m
long_query_time = 1
log_output = FILElog-error = /data/mysqldata/3306/mysql-error.log
slow_query_log = 1
slow_query_log_file = /data/mysqldata/3306/slow_statement.log#log_queries_not_using_indexesgeneral_log = 0
general_log_file = /data/mysqldata/3306/general_statement.log#expire-logs-days = 14binlog_expire_logs_seconds = 1728000
relay-log = /data/mysqldata/3306/binlog/relay-bin
relay-log-index = /data/mysqldata/3306/binlog/relay-bin.index#****** MySQL Replication New Feature*********master-info-repository=TABLE
relay-log-info-repository=TABLE
relay-log-recovery#*********** INNODB Specific options ***********innodb_buffer_pool_size = 2048M
transaction-isolation=REPEATABLE-READ
innodb_buffer_pool_instances = 8
innodb_file_per_table = 1
innodb_data_home_dir = /data/mysqldata/3306/innodb_ts
innodb_data_file_path = ibdata1:2048M:autoextend
innodb_thread_concurrency = 8
innodb_log_buffer_size = 16M
innodb_log_file_size = 128M
innodb_log_files_in_group = 3
innodb_log_group_home_dir = /data/mysqldata/3306/innodb_log
innodb_flush_log_at_trx_commit = 2
innodb_max_dirty_pages_pct = 70
innodb_flush_method=O_DIRECT
[mysql]
no-auto-rehash
default-character-set=gbk
prompt = (\u@\h) [\d]>\_
Salin selepas log masuk

9. Mulakan pangkalan data MySQL

$/usr/local/mysql/bin/mysqld --defaults-file=/data/mysqldata/3306/my.cnf --initialize --user=mysql
Salin selepas log masuk

10 Mulakan perkhidmatan mysql

$/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf --user=mysql &
Salin selepas log masuk

11. Log masuk ke pangkalan data

Nota: Kata laluan berasal dari. log ralat, butirannya adalah seperti berikut:

2018-05-16T07:17:57.335486Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: jlocal/mysql/bin/mysql -uroot -p'j
Salin selepas log masuk

12. Beberapa konfigurasi kebenaran asas pangkalan data

Ubah suai kata laluan akaun root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH sha256_password BY 'zsd@7101' PASSWORD EXPIRE INTERVAL 360 DAY;
Salin selepas log masuk

Lihat akaun pengguna semasa

rreeee

Atas ialah kandungan terperinci Bagaimana untuk menyusun dan memasang MySQL 8.0 pada CentOS7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan