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

Menginstal MySQL di CentOS 7

MySQL adalah sistem manajemen basis data populer yang digunakan untuk aplikasi web dan server. Namun, MySQL tidak lagi dalam repositori CentOS dan MariaDB telah menjadi sistem database default yang ditawarkan. MariaDB dianggap sebagai pengganti adrop-in untuk MySQL dan akan cukup jika Anda hanya membutuhkan sistem database secara umum. Lihat panduan MariaDB di CentOS 7 kami untuk petunjuk penginstalan.

Jika Anda lebih suka MySQL, panduan ini akan memperkenalkan cara menginstal, mengkonfigurasi, dan mengelolanya di Linode yang menjalankan CentOS 7.

Database MySQL yang besar membutuhkan memori yang cukup besar. Untuk alasan ini, kami merekomendasikan penggunaan High Memory Linode untuk pengaturan tersebut.

Catatan Panduan ini ditulis untuk pengguna non-root. Perintah yang memerlukan hak istimewa yang lebih tinggi diawali dengan sudo . Jika Anda tidak terbiasa dengan sudo perintah, Anda dapat memeriksa panduan Pengguna dan Grup kami.

Sebelum Anda Mulai

  1. Pastikan Anda telah mengikuti panduan Memulai dan Mengamankan Server Anda, dan nama host Linode telah disetel.

    Untuk memeriksa nama host Anda, jalankan:

    hostname
    hostname -f
    

    Perintah pertama harus menunjukkan nama host pendek Anda, dan perintah kedua harus menunjukkan nama domain yang sepenuhnya memenuhi syarat (FQDN).

  2. Perbarui sistem Anda:

    sudo yum update
    
  3. Anda membutuhkan wget untuk menyelesaikan panduan ini. Itu dapat diinstal sebagai berikut:

    yum install wget
    

Instal MySQL

MySQL harus diinstal dari repositori komunitas.

  1. Unduh dan tambahkan repositori, lalu perbarui.

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    
  2. Instal MySQL seperti biasa dan mulai layanan. Selama instalasi, Anda akan ditanya apakah Anda ingin menerima hasil dari verifikasi GPG file .rpm. Jika tidak terjadi kesalahan atau ketidakcocokan, masukkan y .

    sudo yum install mysql-server
    sudo systemctl start mysqld
    

MySQL akan mengikat ke localhost (127.0.0.1) secara default. Silakan merujuk ke panduan akses jarak jauh MySQL kami untuk informasi tentang menghubungkan ke database Anda menggunakan SSH.

Catatan Mengizinkan akses tak terbatas ke MySQL pada IP publik tidak disarankan tetapi Anda dapat mengubah alamat yang didengarkannya dengan memodifikasi bind-address parameter di /etc/my.cnf . Jika Anda memutuskan untuk mengikat MySQL ke IP publik Anda, Anda harus menerapkan aturan firewall yang hanya mengizinkan koneksi dari alamat IP tertentu.

Perkuat Server MySQL

  1. Jalankan mysql_secure_installation script untuk mengatasi beberapa masalah keamanan dalam instalasi MySQL default.

     sudo mysql_secure_installation
    

Anda akan diberikan pilihan untuk mengubah kata sandi root MySQL, menghapus akun pengguna anonim, menonaktifkan login root di luar localhost, dan menghapus database pengujian. Anda disarankan untuk menjawab yes untuk opsi ini. Anda dapat membaca lebih lanjut tentang skrip di Manual Referensi MySQL.

Catatan

Jika MySQL 5.7 telah diinstal, Anda akan memerlukan kata sandi sementara yang dibuat selama instalasi. Kata sandi ini dicatat dalam /var/log/mysql.log file, dan dapat ditemukan dengan cepat menggunakan perintah berikut.

sudo grep 'temporary password' /var/log/mysqld.log

Menggunakan MySQL

Alat standar untuk berinteraksi dengan MySQL adalah mysql klien yang menginstal dengan mysql-server kemasan. Klien MySQL digunakan melalui terminal.

Login Root

  1. Untuk masuk ke MySQL sebagai pengguna root:

    mysql -u root -p
    
  2. Saat diminta, masukkan kata sandi root yang Anda tetapkan saat skrip mysql_secure_installation dijalankan.

    Anda kemudian akan disajikan dengan header selamat datang dan prompt MySQL seperti yang ditunjukkan di bawah ini:

     mysql>
    
  3. Untuk membuat daftar perintah untuk prompt MySQL, masukkan \h . Anda kemudian akan melihat:

     List of all MySQL commands:
     Note that all text commands must be first on line and end with ';'
     ?         (\?) Synonym for `help'.
     clear     (\c) Clear command.
     connect   (\r) Reconnect to the server. Optional arguments are db and host.
     delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
     edit      (\e) Edit command with $EDITOR.
     ego       (\G) Send command to mysql server, display result vertically.
     exit      (\q) Exit mysql. Same as quit.
     go        (\g) Send command to mysql server.
     help      (\h) Display this help.
     nopager   (\n) Disable pager, print to stdout.
     notee     (\t) Don't write into outfile.
     pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
     print     (\p) Print current command.
     prompt    (\R) Change your mysql prompt.
     quit      (\q) Quit mysql.
     rehash    (\#) Rebuild completion hash.
     source    (\.) Execute an SQL script file. Takes a file name as an argument.
     status    (\s) Get status information from the server.
     system    (\!) Execute a system shell command.
     tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
     use       (\u) Use another database. Takes database name as argument.
     charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
     warnings  (\W) Show warnings after every statement.
     nowarning (\w) Don't show warnings after every statement.
    
     For server side help, type 'help contents'
    
     mysql>
    

Buat Pengguna dan Database MySQL Baru

  1. Pada contoh di bawah ini, testdb adalah nama database, testuser adalah pengguna, dan password adalah kata sandi pengguna.

     create database testdb;
     create user 'testuser'@'localhost' identified by 'password';
     grant all on testdb.* to 'testuser' identified by 'password';
    

    Anda dapat mempersingkat proses ini dengan membuat pengguna sementara menetapkan izin basis data:

     create database testdb;
     grant all on testdb.* to 'testuser' identified by 'password';
    
  2. Kemudian keluar dari MySQL.

    exit
    

Buat Tabel Contoh

  1. Masuk kembali sebagai testuser .

    mysql -u testuser -p
    
  2. Buat tabel contoh yang disebut pelanggan . Ini membuat tabel dengan bidang ID pelanggan bertipe INT untuk bilangan bulat (bertambah otomatis untuk catatan baru, digunakan sebagai kunci utama), serta dua bidang untuk menyimpan nama pelanggan.

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. Kemudian keluar dari MySQL.

    exit
    

Setel Ulang Kata Sandi Root MySQL

Jika Anda lupa kata sandi root MySQL Anda, itu dapat direset.

  1. Hentikan instance server MySQL saat ini, lalu mulai ulang dengan opsi untuk tidak meminta kata sandi.

    sudo systemctl stop mysqld
    sudo mysqld_safe --skip-grant-tables &
    
  2. Hubungkan kembali ke server MySQL dengan akun root MySQL.

    mysql -u root
    
  3. Gunakan perintah berikut untuk mengatur ulang kata sandi root. Ganti password dengan kata sandi yang kuat.

    use mysql;
    update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
    flush privileges;
    exit
    
  4. Kemudian restart MySQL.

    sudo systemctl start mysqld
    

Tune MySQL

MySQL Tuner adalah skrip Perl yang terhubung ke instance MySQL yang sedang berjalan dan memberikan rekomendasi konfigurasi berdasarkan beban kerja. Idealnya, instance MySQL harus telah beroperasi setidaknya selama 24 jam sebelum menjalankan tuner. Semakin lama instance berjalan, semakin baik saran yang akan diberikan oleh MySQL Tuner.

  1. Unduh MySQL Tuner ke direktori home Anda.

    wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. Untuk menjalankannya:

    perl ./mysqltuner.pl
    

    Anda akan dimintai nama dan kata sandi pengguna root MySQL. Keluaran akan menunjukkan dua bidang minat:Rekomendasi umum dan Variabel untuk disesuaikan.

MySQL Tuner adalah titik awal yang sangat baik untuk mengoptimalkan server MySQL tetapi akan lebih bijaksana untuk melakukan penelitian tambahan untuk konfigurasi yang disesuaikan dengan aplikasi yang menggunakan MySQL di Linode Anda.

Masih ada beberapa pertanyaan?

Bergabunglah dengan Komunitas kami dan kirimkan pertanyaan Anda untuk penggemar Linode dan Linux lainnya untuk membantu Anda.

Pertanyaan Terkait:
  • Cara menginstal phpMyAdmin di Centos7
  • Bagaimana cara menyiapkan tumpukan LAMP/LEMP di Linode saya?
  • Bagaimana cara menjalankan MySQL dan MongoDB?

Informasi Lebih Lanjut

Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.

  • Panduan Referensi MySQL 5.6
  • Manual PHP MySQL
  • Contoh Perl DBI untuk DBD::mysql
  • Panduan Pengguna MySQLdb
  • Tutorial Penyetel MySQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Urutkan berdasarkan urutan nilai dalam pernyataan pilih dalam klausa di mysql

  2. Jenis bidang basis data terbaik untuk URL

  3. Bagaimana cara mengaktifkan koneksi ulang otomatis klien MySQL dengan MySQLdb?

  4. Kode Kesalahan:1406. Data terlalu panjang untuk kolom - MySQL

  5. PHP:Peringatan:sort() mengharapkan parameter 1 menjadi array, sumber daya diberikan