Latest web development tutorials

Manajemen MySQL

Start-up dan shut down server MySQL

Pertama, kita perlu perintah berikut untuk memeriksa apakah server MySQL dimulai:

ps -ef | grep mysqld

Jika MySql telah dimulai, output dari perintah di atas daftar proses mysql, jika mysql tidak dimulai, Anda dapat memulai server mysql, gunakan perintah berikut:

root@host# cd /usr/bin
./mysqld_safe &

Jika Anda ingin mematikan server MySQL sedang berjalan, Anda dapat menjalankan perintah berikut:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

MySQL Pengaturan Pengguna

Jika Anda perlu menambahkan MySQL pengguna, Anda hanya perlu database mysql untuk menambahkan pengguna baru ke meja pengguna.

Contoh berikut menambahkan pengguna, nama user tamu, password guest123, dan pengguna yang berwenang dapat SELECT, INSERT dan operasi UPDATE otoritas:

root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host      | user    | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

Ketika Anda menambahkan pengguna, harap dicatat bahwa penggunaan PASSWORD MySQL tersedia () fungsi untuk mengenkripsi password. Anda dapat melihat enkripsi password user pada contoh di atas: 6f8c114b58f2ce9e.

Catatan: password di MySQL5.7 tabel user telah menggantikan authentication_string.

Catatan: Perhatikan bahwa Anda perlu untuk melakukan FLUSH pernyataan PRIVILEGES. Perintah ini akan me-reload tabel hibah setelah eksekusi.

Jika Anda tidak menggunakan perintah ini, Anda tidak dapat menggunakan user yang baru dibuat untuk terhubung ke server mysql kecuali Anda me-restart server mysql.

Ketika Anda dapat membuat pengguna, memberikan izin kepada pengguna, dalam izin kolom yang sesuai, diatur dalam pernyataan insert 'Y' bisa, hak pengguna tercantum di bawah ini:

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

Cara lain untuk menambahkan pengguna melalui perintah GRANT SQL, perintah Anda akan menambahkan pengguna untuk menentukan database Tutorial zara, password zara123.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';

Perintah di atas akan di mysql tabel database pengguna untuk membuat catatan informasi pengguna.

Catatan: pernyataan SQL MySQL dengan titik koma (;) sebagai identifier akhir.


file konfigurasi /etc/my.cnf

Dalam keadaan normal, Anda tidak perlu memodifikasi file konfigurasi, yang merupakan konfigurasi default adalah sebagai berikut:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Dalam file konfigurasi, Anda dapat menentukan direktori file error log yang berbeda, biasanya Anda tidak perlu mengubah konfigurasi ini.


Manajemen perintah MySQL

Berikut ini daftar prosedur Mysql database yang umum digunakan perintah:

  • PENGGUNAAN nama database:
    Pilih database MySQL untuk beroperasi, menggunakan perintah ini setelah semua perintah Mysql hanya untuk database tersebut.

    mysql> use w3big;
    Database changed
    
  • SHOW DATABASES:
    Daftar MySQL database daftar sistem manajemen database.

    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | w3big             |
    | cdcol              |
    | mysql              |
    | onethink           |
    | performance_schema |
    | phpmyadmin         |
    | test               |
    | wecenter           |
    | wordpress          |
    +--------------------+
    10 rows in set (0.02 sec)
    
  • SHOW TABLES:
    Menampilkan database tertentu semua meja, sebelum menggunakan perintah ini, gunakan perintah untuk memilih database yang ingin Anda gunakan operasi.

    mysql> use w3big;
    Database changed
    mysql> SHOW TABLES;
    +------------------+
    | Tables_in_w3big |
    +------------------+
    | employee_tbl     |
    | w3big_tbl       |
    | tcount_tbl       |
    +------------------+
    3 rows in set (0.00 sec)
    
  • KOLOM TAMPILKAN DARI lembar data:
    Untuk informasi tambahan tentang tampilan atribut tabel data, jenis properti, informasi kunci utama, apakah itu NULL, nilai-nilai default, dll

    mysql> SHOW COLUMNS FROM w3big_tbl;
    +-----------------+--------------+------+-----+---------+-------+
    | Field           | Type         | Null | Key | Default | Extra |
    +-----------------+--------------+------+-----+---------+-------+
    | w3big_id       | int(11)      | NO   | PRI | NULL    |       |
    | w3big_title    | varchar(255) | YES  |     | NULL    |       |
    | w3big_author   | varchar(255) | YES  |     | NULL    |       |
    | submission_date | date         | YES  |     | NULL    |       |
    +-----------------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
    
  • TAMPILKAN INDEX DARI lembar data:
    Menampilkan informasi rinci tentang tabel data indeks, termasuk PRIMARY KEY (kunci utama).

    mysql> SHOW INDEX FROM w3big_tbl;
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | Table      | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    | w3big_tbl |          0 | PRIMARY  |            1 | w3big_id   | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
    +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
    1 row in set (0.00 sec)
    
  • TAMPILKAN TABLE STATUS seperti [DARI DB_NAME] [ 'pola' seperti] \ G:
    Output perintah kinerja dan informasi statistik sistem manajemen database MySQL.

    mysql> SHOW TABLE STATUS  FROM w3big;   # 显示数据库 w3big 中所有表的信息
    
    mysql> SHOW TABLE STATUS from w3big LIKE 'w3big%';     # 表名以w3big开头的表的信息
    mysql> SHOW TABLE STATUS from w3big LIKE 'w3big%'\G;   # 加上 \G,查询结果按列打印
    

Gif presentasi: