Pada artikel ini, kita akan membahas instalasi MySQL tarball biner. Kita akan membahas instalasi MySQL 8 menggunakan tarball biner dan menginstal MySQL 8 di CentOS 7 menggunakan tarball biner. Instalasi berbasis tarball biner memiliki pro dan kontra sendiri, kami akan membahasnya. Instalasi dari tarball biner tidak bergantung pada distribusi Linux atau sistem init yang digunakan distribusi. Ini berarti metode instalasi yang sama bekerja pada RPM dan sistem berbasis mati misalnya, tetapi juga akan bekerja pada distribusi yang lebih eksotis seperti Gen 2 juga. Ada tarball biner untuk macOS juga tersedia dan prosedur instalasi tidak jauh berbeda, metode ini membutuhkan kata yang lebih manual. Skrip mysql_install_db tidak digunakan lagi di MySQL 5.7 dan dihapus dari MySQL 8. Pembuatan database awal dapat dilakukan dengan perintah mysqld –initialize. Sekarang kita akan menginstal MySQL secara manual, kita akan menggunakan perintah mysqld –initialize untuk membuat database kosong.
Pertama mari kita lakukan pembersihan. Kami akan menghapus mariadb-libs versi lama yang menyediakan my.cnf yang akan bertentangan dengan versi kami.
Hapus lib Mariadb:
[[email protected] ~]# sudo yum remove -y mariadb-libs
Unduh tarball sumber survei komunitas MySQL 8.0
[[email protected] ~]# curl -L -O https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar .gz% Total % Diterima % Xferd Kecepatan Rata-Rata Waktu Waktu Waktu CurrentDload Upload Total Menghabiskan Kecepatan Kiri0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0100 575M 100 575jt 0 0 7726rb 0 0:01:16 0:01:16 --:--:-- 8516rb
[[email protected] ~]# ll-rw-r--r--. 1 root root 603019898 23 Juli 10:31 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
Tarball tidak diunduh jadi mari kita buka paketnya ke usr/local
[[email protected] ~]# sudo tar xvfz mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
Melengkapi pra-persyaratan
ayo instal libaio.
[[email protected] ~]# sudo yum -y install libaio
Membuat grup MySQL, ini biasanya dilakukan oleh paket tetapi karena kami menginstalnya secara manual dari tarball biner, sekarang kami perlu melakukannya.
[[email protected] ~]# sudo groupadd mysql
Mari buat pengguna MySQL Anda
[[email protected] ~]# sudo useradd -r -g mysql -s /bin/false mysql
verifikasi pengguna mysql ada di sana
[[email protected] ~]# getent passwd | grep mysqlmysql:x:988:1001::/home/mysql:/bin/false
dapatkan /usr/local dan buat symlink lalu periksa
[[email protected] ~]# cd /usr/local[[email protected] local]# sudo ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql[[email protected] lokal]# ls -la mysqllrwxrwxrwx. 1 root root 35 23 Jul 15:08 mysql -> mysql-8.0.11-linux-glibc2.12-x86_64
buat direktori file MySQL yang akan menampung kepemilikan dan izin kumpulan data sambil berdiri di /usr/local/
[[email protected] local]# sudo mkdir mysql-files[[email protected] local]# sudo chown mysql:mysql mysql-files[[email protected] local]# sudo chmod 750 mysql-filesInisialisasi MySQL
Pergi ke direktori mysql dan Inisialisasi mysqld, pada versi sebelumnya ini disebut mysql_installed_db
[[email protected] local]# cd mysql[[email protected] mysql]# sudo ./bin/mysqld --initialize --user=mysql2020-07-23T12:12:10.028247Z 0 [Sistem] [MY-013169] [Server] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) inisialisasi server sedang berlangsung sebagai proses 250142020-07-23T12:12 :15.470538Z 5 [Catatan] [MY-010454] [Server] Kata sandi sementara dibuat untuk [email protected]:Hqn+jK6lfzNS2020-07-23T12:12:18.875370Z 0 [Sistem] [MY-013170] [Server ] /usr/local/mysql-8.0.11-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.11) inisialisasi server telah selesaiPerhatikan bahwa kata sandi root sementara dibuat yang dalam kasus saya adalah ([email protected]:Hqn+jK6lfzNS)
Salin skrip init dari file dukungan ke /etc/init.d
[[email protected] mysql]# sudo cp ./support-files/mysql.server /etc/init.d/mulai server mysql dengan file init yang baru saja kita salin
[[email protected] mysql]# sudo /etc/init.d/mysql.server startMemulai MySQL.Logging ke '/usr/local/mysql/data/localhost.localdomain.err'.. SUKSES!Sekarang hubungkan ro mysql dengan memberikan passwd sementara yang dihasilkan sebelumnya
[[email protected] mysql]# ./bin/mysql -uroot -pMasukkan kata sandi:Selamat datang di monitor MySQL. Perintah diakhiri dengan; atau \g.Id koneksi MySQL Anda adalah versi 8Server:8.0.11Hak Cipta (c) 2000, 2018, Oracle dan/atau afiliasinya. Semua hak dilindungi undang-undang. Oracle adalah merek dagang terdaftar dari Oracle Corporation dan/atau afiliasinya. Nama lain mungkin merupakan merek dagang dari pemiliknya masing-masing. Ketik 'help;' atau '\h' untuk bantuan. Ketik '\c' untuk menghapus pernyataan input saat ini.mysql>Mari kita ubah passwd sementara untuk pengguna root.
mysql> ubah 'root'@'localhost' pengguna yang diidentifikasi oleh 'My_root_pass1!';Kueri OK, 0 baris terpengaruh (0,07 detik)Periksa lokasi file soket:
mysql> tampilkan variabel seperti 'socket';+---------------+-----------------+| Nama_variabel | Nilai |+---------------+-----------------+| soket | /tmp/mysql.sock |+---------------+-----------------+1 baris dalam set (0,01 detik)Untuk menghindari keharusan mengetikkan nama jalur program klien selalu saat Anda bekerja dengan MySQL, Anda dapat menambahkan direktori /usr/local/mysql/bin ke variabel PATH Anda:
[[email protected] mysql]# ekspor PATH=$PATH:/usr/local/mysql/bin[[email protected] mysql]# ps -ef | grep mysqlroot 25130 1 0 15:16 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr /local/mysql/data/localhost.localdomain.pidmysql 25215 25130 1 15:16 pts/1 00:00:42 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local /mysql/data/localhost.localdomain.pidroot 26171 21375 0 16:21 pts/1 00:00:00 mysql -uroot -px xxxxxxxxxxxxroot 26191 25365 0 16:23 pts/2 00:00:00 grep --color=auto mysq