Maqolalar katalogi
MySQL ma'lumotlar bazasini qanday boshqarish mumkin ? SSH buyruqlari yordamida MySQL serverini boshqarish.
MySQL Boshqaruv
MySQL serverini ishga tushiring va to'xtating
Birinchidan, MySQL serveri ishlayotganligini quyidagi buyruqni bajarish orqali tekshirishimiz kerak:
ps -ef | grep mysqld
Agar MySql allaqachon ishga tushirilgan bo'lsa, yuqoridagi buyruq MySQL jarayonlari ro'yxatini chiqaradi, agar MySQL ishga tushirilmagan bo'lsa, MySQL serverini ishga tushirish uchun quyidagi buyruqdan foydalanishingiz mumkin:
root@host# cd /usr/bin ./mysqld_safe &
Agar siz hozirda ishlayotgan MySQL serverini o'chirmoqchi bo'lsangiz, quyidagi buyruqni bajarishingiz mumkin:
root@host# cd /usr/bin ./mysqladmin -u root -p shutdown Enter password: ******
MySQL foydalanuvchi sozlamalari
Agar siz MySQL foydalanuvchisini qo'shishingiz kerak bo'lsa, yangi foydalanuvchini MySQL ma'lumotlar bazasidagi foydalanuvchilar jadvaliga qo'shishingiz kifoya.
Quyida foydalanuvchi qo‘shish misoli keltirilgan, foydalanuvchi nomi mehmon, parol mehmon123 va foydalanuvchi SELECT, INSERT va UPDATE amallarini bajarishga ruxsat berilgan:
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)
Foydalanuvchilarni qo'shganda, parol MySQL tomonidan taqdim etilgan PASSWORD() funksiyasi yordamida shifrlanganligini unutmang.Yuqoridagi misolda shifrlangan foydalanuvchi paroli ekanligini ko'rishingiz mumkin: 6f8c114b58f2ce9e.
Izoh: MySQL 5.7 da foydalanuvchi jadvalidagi parol maydoni authentication_string bilan almashtirildi.
Eslatma: Siz FLUSH PRIVILEGES operatorini bajarishingiz kerak . Ushbu buyruq grant jadvallarini qayta yuklaydi.
Agar siz ushbu buyruqdan foydalanmasangiz, MySQL serverini qayta ishga tushirmaguningizcha MySQL serveriga ulanish uchun yangi yaratilgan foydalanuvchidan foydalana olmaysiz.
Foydalanuvchi yaratishda siz foydalanuvchi uchun ruxsatlarni belgilashingiz mumkin.Tegishli ruxsatlar ustunida uni kiritish bayonotida “Y” ga oʻrnating.Foydalanuvchi ruxsatnomalari roʻyxati quyidagicha:
- 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
Foydalanuvchilarni qo'shishning yana bir usuli - SQL ning GRANT buyrug'i orqali.Keyingi buyruqda foydalanuvchi zara ko'rsatilgan TUTORIALS ma'lumotlar bazasiga qo'shiladi, parol esa 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';
Yuqoridagi buyruq MySQL ma'lumotlar bazasidagi foydalanuvchilar jadvalida foydalanuvchi ma'lumotlari yozuvini yaratadi.
Izoh: MySQL SQL ko'rsatmalari nuqtali vergul (;) bilan tugaydi.
/etc/my.cnf fayl konfiguratsiyasi
Oddiy sharoitlarda siz konfiguratsiya faylini o'zgartirishingiz shart emas, faylning standart konfiguratsiyasi quyidagicha:
[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
Konfiguratsiya faylida siz turli xil xatolar jurnali fayllari saqlanadigan katalogni belgilashingiz mumkin.Umuman olganda, bu konfiguratsiyalarni o'zgartirishingiz shart emas.
MySQL-ni boshqarish uchun buyruqlar
Quyida Mysql ma'lumotlar bazasidan foydalanish jarayonida tez-tez ishlatiladigan buyruqlar ro'yxati keltirilgan:
- FOYDALANISH ma'lumotlarni saqlash nomi :
Ishlaydigan Mysql ma'lumotlar bazasini tanlang.Ushbu buyruqdan foydalangandan so'ng barcha Mysql buyruqlari faqat shu ma'lumotlar bazasi uchun.mysql> use chenweiliang; Database changed
- MA'LUMOT BAZALARINI KO'RSATISH:
MySQL ma'lumotlar bazasini boshqarish tizimining ma'lumotlar bazasi ro'yxatini ko'rsatadi.mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | chenweiliang | | cdcol | | mysql | | onethink | | performance_schema | | phpmyadmin | | test | | wecenter | | wordpress | +--------------------+ 10 rows in set (0.02 sec)
- JADVALLARNI KO'RSATISH:
Belgilangan ma'lumotlar bazasining barcha jadvallarini ko'rsatadi.Ushbu buyruqni ishlatishdan oldin siz boshqaradigan ma'lumotlar bazasini tanlash uchun use buyrug'ini ishlatishingiz kerak.mysql> use chenweiliang; Database changed mysql> SHOW TABLES; +------------------+ | Tables_in_chenweiliang | +------------------+ | employee_tbl | | chenweiliang_tbl | | tcount_tbl | +------------------+ 3 rows in set (0.00 sec)
- USTUNLARNI KO'RSATISH tafsilotli ro'yxat:
Ma'lumotlar jadvali atributlari, atribut turlari, asosiy kalit ma'lumotlari, NULL bo'ladimi, standart qiymatlar va boshqa ma'lumotlarni ko'rsatish.mysql> SHOW COLUMNS FROM chenweiliang_tbl; +-----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+-------+ | chenweiliang_id | int(11) | NO | PRI | NULL | | | chenweiliang_title | varchar(255) | YES | | NULL | | | chenweiliang_author | varchar(255) | YES | | NULL | | | submission_date | date | YES | | NULL | | +-----------------+--------------+------+-----+---------+-------+ 4 rows in set (0.01 sec)
- INDEKSNI KO'RSATISH tafsilotli ro'yxat:
Ma'lumotlar jadvalining batafsil indeks ma'lumotlarini, shu jumladan PRIMARY KEY (asosiy kalit) ko'rsatish.mysql> SHOW INDEX FROM chenweiliang_tbl; +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | chenweiliang_tbl | 0 | PRIMARY | 1 | chenweiliang_id | A | 2 | NULL | NULL | | BTREE | | | +------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 1 row in set (0.00 sec)
- JADVAL STATUSINI KO'RSATING [FROM db_name] [LIKE 'pattern'] \G:
Ushbu buyruq Mysql ma'lumotlar bazasini boshqarish tizimining ishlashi va statistikasini chiqaradi.mysql> SHOW TABLE STATUS FROM chenweiliang; # 显示数据库 chenweiliang 中所有表的信息 mysql> SHOW TABLE STATUS from chenweiliang LIKE 'chenweiliang%'; # 表名以chenweiliang开头的表的信息 mysql> SHOW TABLE STATUS from chenweiliang LIKE 'chenweiliang%'\G; # 加上 \G,查询结果按列打印
Umid qilamizki, Chen Weiliangning blogida ( https://www.chenweiliang.com/ ) ulashilgan "MySQL ma'lumotlar bazasini qanday boshqarish mumkin? SSH buyruqlari yordamida MySQL serverini boshqarish" maqolasi siz uchun foydali bo'ladi.
Ushbu maqola havolasini ulashing: https://www.chenweiliang.com/cwl-453.html
