Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Siapkan MySQL 8 dari Binary Tarball

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-files 

Inisialisasi 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 selesai

Perhatikan 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

No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan mysqldump untuk Mencadangkan MySQL atau MariaDB

  2. Kueri SQL dari beberapa nilai dalam satu sel

  3. MySql jumlah elemen kolom

  4. 1114 (HY000):Meja sudah penuh

  5. Buat indeks pada tabel produksi MySQL besar tanpa penguncian tabel