Mysql mencipta pengguna dengan keistimewaan. Bagaimana untuk menambah pengguna ke pangkalan data MySQL menggunakan phpMyAdmin. Mencipta pengguna melalui konsol

Apabila menyambung ke pelayan MySQL, pengguna menyediakan nama pengguna dan kata laluan, dan pelayan menyemak sama ada pelanggan dibenarkan untuk mengakses pelayan dan, jika berjaya, memberikan keistimewaan yang sesuai kepada pengguna. Data keistimewaan pengguna disimpan dalam asas sistem mysql.

Pengesahan pengguna dijalankan menggunakan tiga medan jadual pengguna (hos, pengguna dan kata laluan) dalam pangkalan data mysql. Pelayan mewujudkan sambungan hanya jika ia menemui jadual pengguna Entri di mana nama pengguna dan kata laluan sepadan dengan nilai yang dimasukkan.

Anda boleh melihat bagaimana kata laluan disimpan dalam jadual pengguna menggunakan arahan berikut:

mysql>GUNAKAN mysql

mysql>PILIH kata laluan DARI pengguna;

Anda boleh melihat semua jadual dalam pangkalan data mysql dengan menjalankan arahan

mysql>tunjukkan jadual;

Setelah sambungan diwujudkan, pelayan memulakan sesi dengan pengguna. Untuk setiap permintaan yang masuk, pelayan menyemak sama ada pengguna mempunyai keistimewaan yang mencukupi untuk melengkapkan permintaan tersebut. Maklumat tentang keistimewaan terletak dalam jadual -- pengguna, db, hos, tables_priv atau columns_priv.

Senarai keistimewaan dibentangkan di bawah:

Pelayan MySQL membaca kandungan jadual ini semasa permulaan dan apabila perubahan dalam keistimewaan berkuat kuasa.

Keistimewaan SELECT, INSERT, UPDATE, dan DELETE membolehkan anda melakukan operasi pada baris dalam jadual pangkalan data. Keistimewaan indeks membolehkan penciptaan atau pemusnahan indeks. Keistimewaan alter membolehkan anda menggunakan arahan mengubah jadual. Keistimewaan mencipta dan menggugurkan membolehkan anda mencipta atau memusnahkan pangkalan data dan jadual sedia ada. keistimewaan GERAN gram membolehkan anda memberikan pengguna lain keistimewaan yang anda miliki.

Keistimewaan yang selebihnya digunakan untuk Pentadbiran SQL- pelayan... arahan tutup mematikan pelayan.

Pada permulaan pelayan MySQL semua maklumat keistimewaan pengguna dimuatkan ke dalam ingatan, dan mulai saat itu keistimewaan itu berkuat kuasa.

Perintah pemberian dan pembatalan membenarkan pentadbir sistem mencipta pengguna MySQL dan memberikan atau menafikan hak kepada pengguna di empat peringkat.

· Peringkat global.

Keistimewaan global dikenakan pada semua pangkalan data di pelayan yang ditentukan. Keistimewaan ini disimpan dalam jadual mysql.pengguna.

· Tahap pangkalan data.

Keistimewaan pangkalan data digunakan untuk semua jadual dalam pangkalan data yang ditentukan. Keistimewaan ini disimpan dalam jadual mysql.db dan mysql.host.

· Aras jadual.

Keistimewaan jadual digunakan pada semua lajur jadual yang ditentukan.

Keistimewaan ini disimpan dalam jadual mysql. tables_priv.

· Tahap lajur.

Keistimewaan lajur dikenakan pada lajur individu dalam jadual yang ditentukan. Keistimewaan ini disimpan dalam jadual mysql .columns_priv.

Perintah pemberian membolehkan anda menambah pengguna pelayan baharu:

mysql> GERAN PILIH, Sisipkan PADA teksi.* KEPADA Mike@localhost

DIKENALPASTI OLEH "rahsia";

Perintah ini memberikan hak memasukkan dan memilih ke pangkalan data teksi (kepada semua jadual - ini ditunjukkan oleh asterisk) kepada pengguna Mike, yang menyambung secara setempat (localhost), dan apabila menyambung ke pelayan, pengguna mesti menentukan kata laluan "rahsia ". Kata laluan disimpan pada pelayan dalam bentuk yang disulitkan.

mysql> BERIKAN SEMUA KEISTIMEWAAN PADA *.* KEPADA Ann@"%"

-> DIKENALPASTI OLEH "some_pass" DENGAN PILIHAN GERAN;

Di sini Anna menerima semua hak (semua keistimewaan) untuk semua jadual semua pangkalan data pelayan (* . *), dan dia boleh menyambung kedua-dua secara tempatan dan jauh melalui rangkaian (ini ditunjukkan oleh simbol % selepas Anna@). Selain itu, Anna boleh memindahkan haknya kepada pengguna lain (dengan pilihan geran), iaitu dia sendiri boleh mengeluarkan arahan geran dan mencipta pengguna sistem baharu.

mysql> GERAN PENGGUNAAN PADA *.* KEPADA dummy@localhost

DIKENALPASTI DENGAN `kata laluan";

Pengguna dummy yang dibuat dalam contoh ini boleh menyambung ke pelayan, tetapi hanya dengan komputer tempatan. Keistimewaan USAGE bermakna pengguna tidak mempunyai semua keistimewaan lain. Ini mungkin diperlukan apabila seseorang diupah, tetapi tanggungjawabnya masih belum ditentukan. Dijangkakan bahawa keistimewaan berkaitan pangkalan data akan diberikan kemudian. Ia tidak mungkin untuk mencipta pengguna dengan kata laluan kosong - sistem tidak membenarkan ini atas sebab keselamatan.

Arahan REVOKE membenarkan pentadbir membatalkan hak pengguna:

BATALKAN PILIHAN (use_on) PADA taxi.timetable DARI Mike @ localhost;

Pengguna Mike tidak boleh melihat nilai medan use_on dalam jadual waktu.

Perintah set boleh menetapkan pelbagai pilihan yang mempengaruhi operasi pelayan atau klien. Kata laluan untuk pengguna root juga boleh ditetapkan menggunakan arahan ini:

mysql> TETAPKAN KATA LALUAN UNTUK root@localhost=PASSWORD("new_password") ;

Pengguna juga boleh bekerja secara langsung dengan jadual tugasan keistimewaan:

mysql>GUNAKAN mysql;

Mysql> KEMASKINI pengguna SET Kata Laluan=KATAlaluan("kata laluan_baru")

-> WHERE pengguna="root";

Selepas ini, anda harus mengeluarkan arahan yang memaksa pelayan membaca semula jadual keistimewaan - maka ia akan berkuat kuasa:

mysql> KEISTIMEWAAN FLUSH;

Jika kata laluan ditentukan menggunakan penyata geran. . .dikenal pasti oleh, tidak perlu menggunakan fungsi kata laluan(). Perintah ini menyulitkan kata laluan secara bebas, jadi kata laluan harus dinyatakan dengan ringkas bentuk teks, sebagai contoh, dengan cara ini:

mysql> GERAN PENGGUNAAN PADA *.* KEPADA jeffrey@"%" DIKENALPASTI OLEH "biskut";

Perubahan yang dibuat pada jadual tugasan keistimewaan menggunakan perintah pemberian, batalkan atau tetapkan kata laluan diambil kira oleh pelayan sebaik sahaja arahan ini dilaksanakan.

Daripada pengarang: Saya akan menasihati anda untuk lebih berhati-hati dengan keistimewaan. Salah seorang rakan saya, yang mempunyai hak pentadbir di apartmennya, memberi isterinya "keistimewaan" untuk menyekat akses ke peti sejuk. Akibatnya, saya telah menjalani diet selama dua bulan dan hanya makan sayur-sayuran. Oleh itu, walaupun sebelum menambah pengguna ke MySQL, fikir dengan teliti!

Mereka yang kami percayai!

Tetapi masih ada orang di dunia yang boleh anda percayai. Dan sudah tentu, ini bukan isteri atau ibu mertua. Mari belajar hari ini cara menambah akaun dalam MySQL dan memberi mereka keistimewaan tertentu.

Ini boleh dilakukan melalui baris arahan dan melalui program shell. Pertama, mari kita lihat pilihan mudah. Mari gunakan phpMyAdmin untuk menambah pengguna baharu. Tetapi pertama sekali, mari kita membuat lawatan kecil ke dalam sistem akaun yang dilaksanakan dalam DBMS.

Pengguna dengan akaun akar berada di bahagian atas hierarki. Pada mulanya, akaun ini disertakan dengan nilai kosong kata laluan. Pentadbir (root) boleh menambah pengguna pada MySQL, memberinya hak tertentu, dan juga membatalkan keistimewaan.

Sistem keistimewaan dilaksanakan bukan sahaja pada pelayan DBMS, tetapi juga pada peringkat pangkalan data. Anda boleh memberi pengguna akses kepada pangkalan data tertentu, dan juga membenarkannya melakukan operasi tertentu sahaja dengan "storan". Contohnya, melarang memasukkan, memadam dan mengemas kini data, tetapi benarkan membuat pilihan daripada jadual. Tetapi semua ini lebih mudah dipelajari dalam amalan, jadi mari kita mulakan.

Menambah akaun melalui phpMyAdmin

Buka aplikasi, pergi ke tab "Pengguna" di bahagian atas. Ini akan memaparkan jadual Gambaran Keseluruhan Akaun. Ia menyenaraikan semua akaun yang wujud pada contoh pelayan, serta maklumat ringkas tentang keistimewaan mereka.

Untuk menambah akaun baharu, anda perlu mengklik pada pautan "Tambah pengguna", yang terletak di bawah jadual. Selepas itu sistem aplikasi akan memaparkan kotak dialog "Tambah Pengguna" khas.

Di bahagian paling atas ("Maklumat Akaun"), anda harus menetapkan nama pengguna baharu, tetapkan dan sahkan kata laluan. Anda juga boleh mendapatkan nilai rawak kata laluan, yang akan dimasukkan secara automatik ke dalam medan. Untuk melakukan ini, klik butang "Jana".

Jika anda tatal ke bawah sedikit, anda akan dapat mengedit keistimewaan global yang boleh anda tetapkan pengguna dicipta. Gambar menunjukkan bahawa semua keistimewaan dibahagikan kepada beberapa kategori: "Data", "Struktur" dan "Pentadbiran". Sebelum menambah pengguna pada MySQL, baca mereka dan tandai kotak yang anda perlukan.

Untuk membuat akaun, klik butang "Tambah pengguna" di bahagian bawah kotak dialog. Sekarang mari kita lihat hasil tindakan kita. Kembali ke jadual Gambaran Keseluruhan Akaun dan semak kandungannya. Seperti yang anda lihat, akaun baharu telah dibuat pada pelayan dengan nama yang kami nyatakan.

Menambah pengguna pangkalan data baharu

Melalui phpMyAdmin anda boleh mentadbir peranan bukan sahaja secara global, tetapi juga pada peringkat pangkalan data individu. Untuk menambah pengguna ke pangkalan data dalam MySQL, pilih yang anda perlukan dalam senarai di sebelah kiri. Kemudian pergi melalui item menu "Keistimewaan", di mana jadual akan memaparkan semua pengguna yang mempunyai akses kepada pangkalan data ini. Untuk membuat akaun pangkalan data baharu, klik pada pautan "Tambah pengguna", yang terletak lebih rendah sedikit (di bawah jadual).

Selepas itu dialog "Tambah Pengguna" yang biasa akan muncul. Kami mengisi semua medan, seperti dalam contoh sebelumnya. Mari kita berikan leha2 keistimewaan global kepada pangkalan dunia - biarkan dia melakukan apa yang dia mahu dengan dunia ini. Dan klik "Tambah pengguna" di bahagian bawah.

Mengawal keupayaan pengguna yang dicipta

Mari kita fikirkan apa yang boleh dilakukan oleh "Lech" terbaharu yang kami cipta. Mari pergi ke baris arahan. Kami log masuk ke pelayan dan pilih daripada pangkalan data yang mana pengguna telah ditambahkan ke MySQL: Z:\usr\local\mysql-5.5\bin\mysql.exe -u leha2 -p123

Sekarang mari cuba menggunakan akaun ini (leha2) untuk masuk ke pangkalan data lain dan juga membuat pilihan daripadanya. Sebagai contoh, dari pangkalan data ini:

PILIH * DARI `db1`.`animal`;

PILIH * DARI ` db1 ` . `haiwan` ;

Tetapi respons yang kami dapat daripada MySQL adalah "secara rawak", kerana akaun yang digunakan hanya mempunyai hak untuk pangkalan data dunia.

Tetapi itu bukan semua ciri pentadbiran keistimewaan. Anda boleh menambah pengguna dengan hak lihat sahaja pada MySQL. Untuk melakukan ini, jadual hak akaun sedia ada diedit atau yang baharu dibuat.

Pergi ke tab "Keistimewaan" sekali lagi. Dalam jadual pengguna, di sebelah akaun yang diperlukan, klik "Edit keistimewaan." Kemudian dalam kotak dialog yang muncul, matikan semua keistimewaan kecuali pilih. Oleh itu, pengguna hanya boleh melihat jadual atau membuat pilihan daripadanya menggunakan arahan SQL SELECT.

Mencipta pengguna melalui konsol

Mari belajar cara menambah pengguna pada MySQL melalui konsol. Untuk melakukan ini, kita perlu log masuk ke pelayan pangkalan data dengan hak pentadbir. Kemudian gunakan arahan CREATE untuk mencipta pengguna baharu dan beri dia kata laluan:

BUAT PENGGUNA "verter"@"localhost" DIKENAL PASTI OLEH "12345";

BUAT PENGGUNA "verter" @ "localhost" DIKENAL PASTI OLEH "12345" ;

Sekarang mari kita kembali ke shell perisian dan lihat sama ada "robot" yang kami buat telah muncul dalam jadual "Ikhtisar Akaun".

Seperti yang anda lihat, verter telah menjadi pengguna pelayan MySQL kami. Tetapi dia tidak mempunyai hak sama sekali (seperti mana-mana robot). Ini adalah tidak beretika berhubung dengan saudara "besi" kami, jadi kami akan memberikannya semua keistimewaan kepada mana-mana pangkalan. Sebagai contoh, dunia.

Akhirnya saya sampai ke pangkalan data, hari ini kita akan terus berurusan dengan pelayan MySQL. Seperti yang anda mungkin telah meneka, kami akan bercakap tentang pengguna MySQL dan penciptaan akaun pengguna MySQL pelayan. Biar saya ingatkan anda bahawa pengguna pertama dibuat secara automatik pemasangan MySQL pelayan. Anda masukkan kata laluan akaun anda rekod MySQL pengguna bernama root. Tetapi kadangkala terdapat situasi apabila pengguna root mempunyai terlalu banyak hak, sebagai contoh: sesetengah pengguna sepatutnya hanya mempunyai hak untuk melihat data, tetapi bukan untuk mengedit.

Hak, pengguna MySQL boleh mempunyai yang sangat berbeza, dan kita akan bercakap tentang hak akses kepada pangkalan data MySQL dalam penerbitan yang berasingan. Tugas kami adalah untuk memikirkan cara menyambung ke pelayan yang mempunyai ciri khusus port TCP. Sebenarnya, mencipta pengguna MySQL baharu tidaklah begitu sukar, tetapi terdapat beberapa kehalusan yang perlu anda ketahui supaya anda tidak menghadapi masalah semasa mentadbir pangkalan data MySQL.

Bagaimana untuk mengakses pelayan MySQL

Apabila anda mencipta pengguna MySQL pertama anda, namanya adalah root, dan anda telah membuat kata laluan untuk akaun ini sendiri. Pengguna root adalah pengguna terpenting pelayan MySQL, ketua pentadbir dengan hak akses tanpa had, pengguna ini boleh mencipta akaun baharu untuk mengakses pangkalan data MySQL, dengan kata lain: pentadbir utama boleh mencipta pengguna MySQL dengan hak yang kurang daripada dirinya.

sebelum ini, cara membuat pengguna MySQL, jangan lupa . Untuk mengakses pelayan MySQL anda perlu membuat sambungan, untuk ini anda perlu memasukkan log masuk dan kata laluan. Jika pelayan pangkalan data adalah jauh, maka anda juga perlu memasukkan nama hos di mana ia dipasang; jika anda tidak menyatakan nama hos, maka sambungan akan diwujudkan dengan pelayan tempatan.

Anda boleh mewujudkan sambungan ke pelayan tempatan menggunakan arahan berikut pada baris arahan sistem operasi:

mysql –h localhost –p –u root

mysql –h localhost –p –u root

Sahkan arahan dengan menekan Masukkan kekunci, selepas itu MySQL akan meminta anda memasukkan kata laluan untuk pengguna ini, masukkannya dan tekan Enter. Sila ambil perhatian: jika anda bekerja di bilik pembedahan sistem Windows 7, maka baris arahan mesti dijalankan sebagai pentadbir. Kadangkala pelayan MySQL mungkin tidak dijumpai; kita akan bercakap tentang menyelesaikan masalah ini dalam artikel lain.

Mari kita berurusan dengan pasukan ini. Perintah ini berjalan Konsol MySQL pelayan, shell yang membolehkan anda bekerja dengan pangkalan data, operasi yang boleh dilakukan dengan data boleh sangat berbeza, semuanya bergantung pada hak akses pengguna MySQL, dalam dalam kes ini anda boleh melakukan sebarang operasi dengan semua pangkalan data, kerana anda telah log masuk sebagai pengguna akar MySQL. Nota kepada pengguna baru sistem pengendalian seperti UNIX: root pengguna MySQL pelayan dan pengguna akar sistem pengendalian adalah dua pengguna yang berbeza. Nama pengguna pelayan MySQL ditulis selepas pembinaan "-u".

Kata laluan pengguna pelayan MySQL ditulis selepas pembinaan "-p". Anda tidak perlu memasukkannya dengan segera, maka anda perlu memasukkannya selepas anda menekan Enter. Selepas pembinaan "-h", nama hos di mana pelayan MySQL terletak ditulis; dalam kes ini, kami secara jelas menunjukkan bahawa sambungan mesti diwujudkan dengan pelayan pangkalan data tempatan; ini tidak perlu dilakukan.

Selepas ia selesai perintah ini, anda akan dikehendaki memasukkan kata laluan pengguna MySQL anda. Jika pengguna MySQL tidak mempunyai kata laluan, maka selepas melaksanakan arahan, tekan kekunci Return. Saya berharap kami telah mengetahui cara untuk mendapatkan akses kepada pelayan MySQL dan tiada soalan akan timbul di sini.

Bagaimana untuk melihat maklumat tentang pangkalan data pelayan MySQL sedia ada

Sila ambil perhatian: arahan penggunaan bukan Pertanyaan SQL, jadi anda tidak perlu meletakkan koma bertitik di hujung arahan ini, atau anda boleh memasukkannya, hasilnya akan sama: anda akan mula bekerja dengan asas yang ditentukan data pelayan MySQL. Database_name ialah nama pangkalan data yang akan digunakan oleh pengguna MySQL, ia boleh menjadi mana-mana senarai yang diperolehi oleh arahan show databases. Saya rasa ini sahaja yang anda perlu tahu untuk memahami lebih lanjut cara membuat pengguna MySQL.

Bagaimana untuk mencipta pengguna MySQL. pasukan GERAN.

Jadi, mari kita beralih kepada soalan: bagaimana untuk mencipta pengguna MySQL. Baru Akaun Pengguna MySQL dicipta dengan arahan GRANT. Menggunakan arahan GRANT, bukan sahaja pengguna MySQL pelayan, tetapi juga memberikan hak akses dan keistimewaan kepada pengguna MySQL. Semua pengguna MySQL dibahagikan kepada dua kategori, satu daripadanya kecil, satu lagi besar:

  1. Root pengguna MySQL. Mampu melakukan segala-galanya, ini adalah pentadbir utama pelayan MySQL, selalunya hak root tidak diperlukan, dengan hak ini anda boleh membahayakan diri sendiri.
  2. Pengguna MySQL dicipta oleh root. Pengguna pelayan MySQL ini mempunyai hak yang berbeza, hak diberikan oleh pengguna root menggunakan pertanyaan SQL GRANT.

Jadi, mari kita fikirkan cara membuat pengguna MySQL, sekiranya anda masih belum terlupa: Pengguna MySQL dicipta dengan pertanyaan GRANT:

BERIKAN priv_type [(column_list)] [, priv_type [(column_list)] ...] ON (tbl_name | * | *.* | db_name.*) TO user_name [, user_name ...]

BERIKAN priv_type [ (column_list ) ] [ , priv_type [ (column_list )] . . . ]

HIDUP ( tbl_name | * | * . * | db_name . * )

KEPADA nama_pengguna [ DIKENALPASTI OLEH "kata laluan" ]

[ , nama_pengguna [ DIKENALPASTI OLEH "kata laluan" ] . . . ]

[DENGAN PILIHAN GERAN]

Contoh menunjukkan sintaks umum arahan GRANT, ia agak mudah, tetapi anda boleh mencipta pengguna MySQL dengan pelbagai keistimewaan. Jom tengok apa pengguna MySQL boleh dibuat menggunakan arahan ini menggunakan contoh tertentu.

Kami akan mencipta pengguna MySQL baharu. Pada pelayan saya terdapat satu yang dipanggil mydb, anda boleh membuat pangkalan data anda sendiri dengan nama yang anda perlukan. Perlu diingat bahawa walaupun pengguna MySQL sudah wujud, dia masih perlu diberi keistimewaan tertentu dengan arahan GRANT. Jadi, mari kita cipta pengguna baharu yang boleh melakukan sebarang tindakan dengan pangkalan data mydb pelayan MySQL. Saya akan memberikan sedikit data input. Nama pengguna MySQL: "newusermysql", kata laluan pengguna MySQL: "kata laluan pengguna". Hos yang mana pelayan dipasang: localhost. Tindakan yang boleh dilakukan oleh pengguna baharu: sebarang tindakan dengan pangkalan data mydb. Permintaan GRANT untuk mencipta pengguna MySQL dengan hak yang ditentukan:

KEPADA "newusermysql" @ "localhost" DIKENALPASTI OLEH "userpassword" ;

Titik koma pada penghujung arahan diperlukan kerana GRANT ialah pertanyaan SQL. Mari lihat arahan untuk mencipta pengguna MySQL dalam bahagian. DIKENALPASTI OLEH "userpassword": Tetapkan kata laluan untuk pengguna MySQL sebagai "userpassword". "newusermysql"@"localhost": tentukan hos yang mana pengguna bernama "newusermysql" akan disambungkan. Pernyataan GRANT hanya boleh digunakan oleh pengguna root MySQL. Kenyataan ALL ON memberikan semua kebenaran kepada pengguna newusermysql pada pangkalan data mydb.

Nota: ia dikawal oleh pelayan MySQL, jadi pengguna WordPress boleh dibuat secara manual dengan mengisi medan yang sesuai dan memberi mereka keistimewaan, sebaliknya: WordPress ialah CMS yang menjadikan kehidupan juruweb lebih mudah dan menyediakan GUI untuk mencipta pengguna.

Saya rasa saya telah membincangkan isu ini secara terperinci cara membuat pengguna MySQL, kini anda boleh mencipta pengguna baharu, kami akan bercakap tentang keistimewaan pengguna MySQL dalam salah satu penerbitan berikut, jika anda masih mempunyai soalan mengenai topik ini, sila tanya mereka dalam komen jika anda fikir artikel itu membantu anda dan anda mahu untuk membantu sumber - gunakan blok butang sosial di halaman ini, saya akan sangat berterima kasih kepada anda! Terima kasih kerana memberi perhatian!

Jika anda berminat dalam pembangunan web atau pembangunan perisian secara umum, anda mungkin pernah mendengar tentang pangkalan data. Pangkalan data adalah storan maya untuk data yang diperlukan untuk membuat aplikasi web. Ia digunakan untuk menyimpan maklumat pengguna, seperti nama pengguna, kata laluan, alamat e-mel dan lain-lain. Secara umum, sebarang jenis maklumat yang anda perlukan pada masa hadapan boleh disimpan dalam pangkalan data.

Sudah tentu, data yang anda simpan mesti teratur. Di sinilah sistem pengurusan pangkalan data dimainkan. Sistem ini digunakan untuk berfungsi dengan pangkalan data dan membenarkan pembangun menstruktur, menyimpan, bertanya dan mengubah suai data.

MySQL adalah salah satu sistem pengurusan pangkalan data sedemikian. Ini adalah antara yang paling banyak sistem yang diketahui, terima kasih kepada kemudahan penggunaan dan sokongan komuniti. Dengan cara ini, kelazimannya telah menarik perhatian sedemikian syarikat besar seperti, Facebook dan Twitter, yang menggunakannya sedikit sebanyak.

Dalam panduan ini kami akan menyemak Asas MySQL dan belajar cara mencipta pengguna MySQL. Kami juga akan belajar cara memberikan keistimewaan akses kepada pengguna MySQL. Dalam tutorial ini, kami akan melakukan semua ini dari baris arahan.

Sebelum anda memulakan, anda memerlukan yang berikut:

  • Dipasang pada anda komputer MySQL. Panduan pengguna tentang cara memasangnya pada .

Langkah 1 – Buat pengguna MySQL dan berikan hak akses tanpa had

Sebaik sahaja anda mula menggunakan MySQL, anda akan diberikan nama pengguna dan kata laluan. Bukti kelayakan awal ini memberi anda keistimewaan 'akses root'. Pengguna dengan hak akses root mempunyai akses penuh kepada semua pangkalan data dan jadual dalam pangkalan data ini.

Tetapi selalunya, anda perlu menyediakan akses kepada pangkalan data untuk orang lain tanpa memberi kawalan penuh. Sebagai contoh, syarikat yang mengupah pemaju untuk mengekalkan pangkalan data, tetapi tidak mahu memberi mereka keupayaan untuk memadam atau menukar sebarang maklumat sulit, kemungkinan besar akan memberikan mereka hak akses pengguna bukan root. Dalam kes ini, syarikat boleh mengawal perkara yang boleh dan tidak boleh dilakukan oleh pembangunnya dengan data tersebut.

Mencipta pengguna MySQL adalah sangat mudah. Kami akan menunjukkan kepada anda cara membuat pengguna MySQL dan cara menetapkan hak akses pangkalan data kepadanya. Jika pengguna bukan root, maka tidak praktikal untuk memberinya semua hak dan ini adalah sebab yang baik untuk meneroka cara anda boleh menetapkan hak akses kepada pengguna. Untuk membuat pengguna baharu, ikuti langkah berikut:

  1. Lancarkan baris arahan dan daripadanya pelayan MySQL: mysql
  2. Jalankan arahan berikut: CREATE USER "non-root"@"localhost" DIKENAL PASTI OLEH "123";

    Dalam arahan ini, 'non-root' ialah nama yang kami tetapkan kepada pengguna baharu kami. Dan '123' ialah kata laluannya. Anda boleh menggantikan dengan nilai anda di dalam petikan.

  3. Hanya mencipta pengguna baharu tidak mencukupi. Anda perlu memberikan hak akses kepadanya. Untuk memberikan hak akses tanpa had kepada pangkalan data kepada pengguna yang baru dibuat, jalankan arahan berikut: BERIKAN SEMUA KEISTIMEWAAN PADA * . * KE "non-root"@"localhost";
  4. Agar perubahan berkuat kuasa, jalankan arahan kemas kini: FLUSH PRIVILEGES;

Itu sahaja! Pengguna baharu anda mempunyai kebenaran pangkalan data yang sama seperti pengguna akar.

Langkah 2 – Berikan kebenaran khas kepada pengguna MySQL

Seperti yang dinyatakan di atas, adalah tidak bijak untuk memberikan tahap akses root pengguna bukan root. Lebih kerap daripada tidak, anda perlu menyediakan tahap yang berbeza akses untuk pengguna yang berbeza. MySQL menjadikannya mudah dan cepat dengan menjalankan arahan berikut:

BERIKAN [jenis kebenaran] PADA [nama pangkalan data].[nama jadual] KE 'bukan akar'@"localhost';

Anda hanya perlu menggantikan nilai 'jenis kebenaran' dengan jenis hak akses yang anda ingin berikan kepada pengguna baharu. Anda juga perlu menentukan pangkalan data dan nama jadual untuk diakses. Sama seperti contoh sebelumnya, 'non-root' ialah nama pengguna, iaitu, anda boleh menggantikannya dengan yang anda perlukan. MySQL mempunyai beberapa jenis kebenaran, beberapa daripadanya diterangkan di bawah:

  • CIPTA– Membolehkan pengguna membuat pangkalan data/jadual
  • PILIH– Membolehkan pengguna membuat sampel data
  • INSERT– Membenarkan pengguna menambah rekod baharu pada jadual
  • KEMASKINI– Membolehkan pengguna menukar rekod sedia ada dalam jadual
  • PADAM– Membolehkan pengguna memadam rekod daripada jadual
  • JATUHKAN– Membolehkan pengguna memadam rekod dalam pangkalan data/jadual

Untuk menggunakan mana-mana pilihan ini, cuma ganti [jenis kebenaran] perkataan yang diperlukan. Untuk menetapkan berbilang jenis kebenaran, pisahkan dengan koma seperti dalam arahan berikut. Sebagai contoh, kita boleh memberikan keistimewaan seperti CIPTA Dan PILIH untuk pengguna MySQL bukan root kami dengan arahan ini:

GERAN BUAT, PILIH PADA *. * KE "non-root"@"localhost";

Sudah tentu, anda mungkin menghadapi situasi di mana anda perlu mengambil hak akses yang diberikan sebelum ini daripada pengguna. Anda boleh melakukan ini dengan menjalankan arahan berikut:

BATALKAN [jenis kebenaran] HIDUP [nama pangkalan data].[nama jadual] DARIPADA 'non-root'@'localhost';

Contohnya, untuk membatalkan semua keistimewaan daripada pengguna bukan root, anda perlu lakukan:

BATALKAN SEMUA KEISTIMEWAAN PADA *.* DARIPADA "non-root"@"localhost";

Akhir sekali, anda boleh memadam pengguna sedia ada menggunakan arahan:

LEPASKAN PENGGUNA 'non-root'@'localhost';

Ingat bahawa anda memerlukan akses root untuk menjalankan mana-mana arahan ini. Juga, pastikan anda mengikuti KEISTIMEWAAN FLUSH selepas sebarang perubahan dalam hak akses.

Kesimpulan

Dalam tutorial ini, kami mempelajari beberapa asas tentang kebenaran MySQL dan cara mencipta pengguna MySQL. khususnya:

  • Buat pengguna baharu dan serahkan semua hak akses kepadanya
  • Memberikan hak akses khas kepada pengguna, serta membatalkannya dan memadamkan pengguna

Menetapkan kebenaran mungkin kelihatan sukar apabila membangunkan aplikasi web baharu, tetapi ia merupakan langkah yang sangat penting untuk mengurus dan menyelenggara pangkalan data. Hampir semuanya aplikasi moden dibina di atas pangkalan data, jadi amat penting bahawa pembangun mengetahui cara untuk menetapkan/mengalih keluar hak akses kepada pangkalan data dalam MySQL.

Ciri ciri MySQL - keselamatan sendiri, bergantung pada perlindungan luaran. Sebagai moden, berfungsi sepenuhnya dan sistem yang cekap pengurusan pangkalan data, MySQL mempunyai alat sendiri untuk mengurus pengguna dan akses mereka kepada sumber yang dikawalnya.

Jika anda tidak tahu nama yang betul dan kata laluan pengguna, akses pangkalan data melalui MySQL sangat susah nak dapat.

DALAM mod biasa Ini sudah cukup untuk kerja hosting. Situasi yang tidak dijangka, serangan penggodam dan masalah lain adalah masalah luaran pentadbiran sistem dan perkhidmatan keselamatan. Konsep ini telah menjadi tradisional dan boleh dikatakan tidak dibincangkan.

Pemasangan pelayan MySQL dan pengguna root

Tidak kira dalam persekitaran operasi mana sistem pengurusan pangkalan data dipasang, sentiasa ada sekurang-kurangnya satu pengguna: root. Pasang MySQL, buat pengguna dengan semua hak akar- tanpa ini, bekerja dengan pelayan adalah mustahil. Pengguna ini mempunyai keistimewaan yang mencukupi untuk:

  • mencipta dan mentadbir pengguna baharu;
  • mencipta dan mengurus pangkalan data.

Pada asasnya adalah mungkin untuk mempunyai pengguna "tanpa kata laluan" dalam MySQL, tetapi berbuat demikian tidak boleh diterima.

Amalan mudah:

  • pelayan dipasang pada komputer sendiri, di mana pengehosan boleh dipasang (pilihan tempatan);
  • Pelayan terletak pada pengehosan awam di Internet.

Dalam kes pertama, adalah mungkin untuk bekerja dengan pelayan dari baris arahan dan menggunakan phpMyAdmin; dalam kes kedua, hanya phpMyAdmin atau alat yang serupa, tetapi kadang-kadang tersedia baris arahan melalui akses SSH jauh.

Alat pentadbiran asli

Perasaan hubungan kekeluargaan dengan keluarga Unixoid dan dengan masa lalu dari pelayan Apache- ciri ciri MySQL: mencipta pengguna ialah baris arahan dengan sintaks yang pelik. Bagi pakar yang bekerja dengan Linux dan sistem yang serupa, ini sudah biasa kerana ia kelihatan liar di mata pengguna Windows, yang tidak pernah "muncul dalam kehidupan sebenar".

Penciptaan pengguna bermula dengan melancarkan baris arahan pelayan. DALAM Persekitaran Windows ini dilakukan seperti berikut.

Pertama (1) anda perlu menjalankan baris arahan sebagai pentadbir, kemudian pergi ke folder di mana MySQL terletak (2), kemudian mulakan pelayan itu sendiri (3):

  • mysql -u... -p

di sini "-u..." dan "-p" ialah suis yang menunjuk kepada nama "..." = root (atau nama lain) dan kata laluannya. Pada dasarnya, pengguna mungkin bukan root, tetapi seseorang yang mempunyai hak "root" (pentadbiran).

Pada asasnya: Pelayan sebenarnya sentiasa berjalan, di sini mysql -u... -p ialah arahan untuk mengakses pelayan, bukan untuk memulakannya.

DALAM Persekitaran Linux dan sistem yang serupa, arahan sedemikian adalah tindakan "asli" dan, sebagai peraturan, ditentukan hanya dengan melancarkan mysqld di tempat yang betul (dengan cara yang betul), ini harus dijelaskan dengan pentadbir. Di sini biasanya terdapat nama yang berbeza: bukan mysql, tetapi mysqld. Selain itu, tindakan ini tidak selalu tersedia untuk semua pengguna (sistem pengendalian, bukan pelayan MySQL). Tidak seperti Windows, dalam Linux, ketertiban dan keselamatan adalah keperluan semula jadi dan tidak dibincangkan, yang sentiasa ada sikap beradab.

Walau apa pun, sebaik sahaja mysql telah bermula, ia akan menunjukkan ini dengan gesaan (4):

  • mysql>

dan ia akan menjadi mungkin untuk bekerja dengan kedua-dua pengguna dan pangkalan data.

Catatan. Apabila memasang dalam persekitaran Windows, segala-galanya: Apache, MySQL, boleh dipasang dalam laluan lalai, tetapi disyorkan untuk menggunakan lokasi yang lebih padat dan dekat untuk alatan penting ini:

  • c:\SCiA\Apache;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin\;
  • c:\SCiB\site1\www\;
  • c:\SCiB\site2\www\;
  • c:\SCiB\siteN\www\.

Logik ini bukan sahaja akan memudahkan pentadbiran, tetapi juga mengembangkan keupayaan pembangun untuk bergerak antara versi produk dan mengurus fungsinya.

Bekerja pada baris arahan MySQL

Sebaik sahaja pelayan telah bertindak balas dan menyediakan baris arahannya, pengguna boleh dibuat dan diberikan hak.

DALAM dalam contoh ini Perintah cipta pengguna mencipta pengguna Petrov dengan kata laluan 123DFG. Jika ralat dibuat semasa memasukkan arahan, pelayan menawarkan untuk membetulkannya, tetapi lebih baik apabila bekerja pada baris arahan jangan pernah buat silap!

Perintah berikut memberikan semua keistimewaan memberikan semua hak kepada segala-galanya. Anda tidak perlu memberikan arahan flush, tetapi ia "menolak keluar" penimbal arahan, iaitu, ia membetulkan pelaksanaannya.

MySQL: cipta pengguna dan berikan hak kepada pangkalan data

Perintah yang digunakan dalam contoh:

  • BERIKAN SEMUA KEISTIMEWAAN PADA *.* KEPADA "Petrov"@"localhost";

sebenarnya, ia membuka akses untuk pengguna Petrov kepada semua pangkalan data (asterisk pertama) kepada semua jadual (asterisk kedua).

Oleh peraturan Am MySQL, buat pengguna ialah:

  • BERIKAN [jenis keistimewaan] PADA [nama pangkalan data].[nama jadual] KEPADA "[pengguna]"@"localhost";

Keistimewaan berikut dibenarkan:

  • SEMUA KEISTIMEWAAN - semua hak.
  • CREATE - hak untuk mencipta jadual/pangkalan data baharu.
  • DROP - hak untuk memadam jadual/pangkalan data.
  • DELETE - hak untuk memadam maklumat dalam jadual.
  • INSERT - hak untuk menulis maklumat ke dalam jadual.
  • SELECT - hak untuk membaca maklumat daripada jadual.
  • KEMASKINI - hak untuk mengemas kini maklumat dalam jadual.
  • PILIHAN GERAN - hak untuk bekerja dengan keistimewaan pengguna lain.

Dari sudut pandangan praktikal, dalam MySQL "buat pengguna" membayangkan tiga kebenaran:

  • semua hak kepada semua pangkalan data dan semua pengguna;
  • baca dan tulis;
  • hanya membaca.

Pilihan lain untuk memberikan hak jarang diperlukan. Dalam persekitaran sistem Linux, terdapat lebih banyak sebab untuk kebebasan "undang-undang" (dan keperluan), tetapi terdapat juga lebih banyak peluang di sana daripada di Windows.

Operasi terbalik "cipta pengguna" MySQL adalah drop.

  • lepaskan pengguna "Petrov"@"localhost";

Selepas melaksanakan arahan ini, pengguna Petrov tidak akan wujud lagi dan keistimewaannya akan hilang. Untuk menukar keistimewaan gunakan arahan:

  • BATALKAN [keistimewaan] PADA [DB].[Jadual] KE "[pengguna]"@"localhost";

Tindakan biasa dalam MySQL adalah untuk mencipta atau memadam pengguna dan itu sahaja, tetapi menukar keistimewaan juga merupakan operasi yang sah (jarang diperlukan).

Menggunakan phpMyAdmin

Terdapat banyak pelaksanaan alat hebat ini. Bergantung pada yang digunakan versi Apache, PHP dan MySQL selalunya mengambil masa yang lama untuk mencari versi yang diperlukan produk ini, tetapi setelah phpMyAdmin berjaya dipasang, pengguna mempunyai banyak peluang yang mudah dan antara muka yang selesa.

Menggunakan phpMyAdmin anda boleh memberitahu MySQL untuk mencipta pengguna untuk mana-mana hos dan mengurus pengguna semasa hampir melalui pembedahan.

phpMyAdmin bukan satu-satunya alat dengan antara muka yang selesa, intuitif dan kaya dengan ciri, tetapi ia adalah alat yang paling popular untuk mentadbir pelayan MySQL.

Mengenai baris arahan dan keselamatan

Sudah tentu, menggunakan arahan rentetan MySQL- aktiviti yang tidak menarik, tetapi anda harus ingat bahawa dalam beberapa kes hanya baris arahan pelayan boleh menyimpan pangkalan data atau pengguna, dan memastikan import atau eksport maklumat.

Versi produk perisian Mereka membangun dengan pantas sehingga pembangun tidak mempunyai masa untuk menggabungkan keupayaan, contohnya, PHP dan MySQL, MySQL dan phpMyAdmin. Jika sesuatu yang tidak dijangka berlaku, baris arahan akan sentiasa menyelamatkan keadaan.

Anda juga tidak boleh lupa: Pentadbiran MySQL hanya melibatkan akses kepada pangkalan datanya dan melalui fungsinya. Fail pangkalan data boleh diakses di luar MySQL. Perlindungan luaran MySQL dan sumber yang dikawalnya adalah keperluan sebenar dan penting.