CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
MySQL, "görünümler" olarak bilinen harika bir özelliğe sahiptir. Görünümler, saklanan sorgulardır. Bunları, aksi takdirde uzun bir sorgu için takma ad olarak düşünün. Bu kılavuzda, verileri daha verimli bir şekilde düzenlemek için görünümlerin nasıl kullanılacağını göstereceğim.
Debian 7.x üzerine MySQL kurulumu çok basittir. İlk olarak, kaynaklarımızı şu şekilde yürüterek güncellememiz gerekir:
sudo apt-get update
Ardından, MySQL sunucusunu kurabiliriz:
sudo apt-get install -y mysql-server
"Kök" kullanıcı için bir şifre oluşturmanızı isteyen bir iletişim kutusu görüntülenir. Bu şifreyi hatırladığınızdan emin olun.
Yaparak kurulumumuzun güvenliğini sertleştirelim:
sudo mysql_secure_installation
Yürütmeden sonra bir dizi bilgi istemi sunulacak. Seçmeniz gereken cevapların her biri aşağıda görüntülenir.
...
Enter current password for root (enter for none):
OK, successfully used password, moving on...
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
...
Remove anonymous users? [Y/n] y
... Success!
...
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
...
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
Bu noktada, sunucuda denenecek veri yok. Bu eğitim için, MySQL'in web sitesinden çalışması kolay ve ücretsiz olarak erişilebilir olduğundan , çalışanların veritabanını kullanacağız.
sudo wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2
bzip2Dosyayı çıkarabilmemiz için yüklememiz gerekiyor .
sudo apt-get install bzip2
Veritabanını ayıklayın. Dosya oldukça büyük, bu yüzden birkaç dakika sürebilir.
sudo bzip2 -dfv employees_db-full-1.0.6.tar.bz2
sudo tar -xf employees_db-full-1.0.6.tar
Dosya çıkarıldıktan sonra başlıklı bir klasörünüz olacaktır employees_db. Veritabanını kurmak için bu dizine gitmemiz gerekiyor.
cd employees_db
ls -l
Çıktı şöyle görünecektir:
-rw-r--r--. 1 501 games 752 Mar 30 2009 Changelog
-rw-r--r--. 1 501 games 6460 Oct 9 2008 employees_partitioned2.sql
-rw-r--r--. 1 501 games 7624 Feb 6 2009 employees_partitioned3.sql
-rw-r--r--. 1 501 games 5660 Feb 6 2009 employees_partitioned.sql
-rw-r--r--. 1 501 games 3861 Nov 28 2008 employees.sql
-rw-r--r--. 1 501 games 241 Jul 30 2008 load_departments.dump
-rw-r--r--. 1 501 games 13828291 Mar 30 2009 load_dept_emp.dump
-rw-r--r--. 1 501 games 1043 Jul 30 2008 load_dept_manager.dump
-rw-r--r--. 1 501 games 17422825 Jul 30 2008 load_employees.dump
-rw-r--r--. 1 501 games 115848997 Jul 30 2008 load_salaries.dump
-rw-r--r--. 1 501 games 21265449 Jul 30 2008 load_titles.dump
-rw-r--r--. 1 501 games 3889 Mar 30 2009 objects.sql
-rw-r--r--. 1 501 games 2211 Jul 30 2008 README
-rw-r--r--. 1 501 games 4455 Mar 30 2009 test_employees_md5.sql
-rw-r--r--. 1 501 games 4450 Mar 30 2009 test_employees_sha.sql
MySQL sunucusuna bağlanmak, veritabanını oluşturmak ve verileri almak için aşağıdaki komutu yürütün:
sudo mysql -h localhost -u root -p -t < employees.sql
Kök şifrenizi soran bir istem belirecektir. Bu, birinci adımda belirlediğiniz şifredir.
Veritabanının oldukça büyük olması nedeniyle, verilerin tamamen içe aktarılması muhtemelen 1-3 dakika sürebilir. Her şey doğru yapılmışsa, aşağıdaki çıktıyı göreceksiniz.
+-----------------------------+
| INFO |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO |
+------------------+
| LOADING salaries |
+------------------+
Şimdi, MySQL'e giriş yapabilir ve içe aktarılan verileri görüntüleyebiliriz.
sudo mysql -h localhost -u root -p
Önceki bölümde belirlediğiniz kök parolayı girin .
Yeni oluşturulan çalışanlar veritabanımız için veritabanı listesini kontrol edin .
show databases;
Çıktı şöyle görünecektir:
+--------------------+
| Database |
+--------------------+
| information_schema |
| employees |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
Çalışanlar veritabanını kullanalım .
use employees;
İçindeki tabloları kontrol edin.
show tables;
Bu çıktı:
+---------------------+
| Tables_in_employees |
+---------------------+
| departments |
| dept_emp |
| dept_manager |
| employees |
| salaries |
| titles |
+---------------------+
6 rows in set (0.01 sec)
Bu adımda, görünümler oluşturmayı ve kullanmayı öğreneceksiniz. Verileri eşleştirmek ve verileri kuruluş için birleştirmek için bu adımı daha küçük bölümlere ayırdım. Test verilerimizle etkileşime geçme zamanı.
Aşağıda, yıllık maaşı 50.000 dolara eşit ya da daha fazla olan tüm çalışanları gösteren bir sorgu var.
select * from salaries where salary >= 50000;
Çıktı (kesilmiş):
+--------+--------+------------+------------+
| emp_no | salary | from_date | to_date |
+--------+--------+------------+------------+
| 10001 | 60117 | 1986-06-26 | 1987-06-26 |
| 10001 | 62102 | 1987-06-26 | 1988-06-25 |
| 10001 | 66074 | 1988-06-25 | 1989-06-25 |
| 10001 | 66596 | 1989-06-25 | 1990-06-25 |
| 10001 | 66961 | 1990-06-25 | 1991-06-25 |
(...)
Gördüğünüz gibi, bu yalnızca çalışan numaralarını gösterir. Bir çalışanı hızlı bir şekilde tanımlamaya çalışmak sıkıntı olabilir. Neyse ki, birden çok tablodan veri çekip eşleştirerek çalışan sayılarını çalışan adlarıyla eşleştirebilecek oldukça uzun bir sorgu depolayacak bir görünüm oluşturabiliriz. Sorgu aşağıda gösterilmiştir.
select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
Sorgudan nasıl atlandığımı fark ettim >= 50000. Görüşümüz oluşturulduktan sonra bu değeri kullanacağız.
Görünümü oluşturmak create view view_name asiçin sorguya eklememiz yeterlidir . Bu durumda, named_salaries adlı bir görünüm oluşturacağım .
create view named_salaries as select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
Bir görünümdeki verileri, tablodaki verileri görüntülediğimiz şekilde görüntüleriz.
select * from named_salaries
Görünüm düzgün bir şekilde oluşturulduysa, aşağıdaki çıktıyı göreceksiniz (veriler kesildi):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
| Georgi | Facello | 10001 | 62102 | 1988-06-25 | 1987-06-26 |
| Georgi | Facello | 10001 | 66074 | 1989-06-25 | 1988-06-25 |
| Georgi | Facello | 10001 | 66596 | 1990-06-25 | 1989-06-25 |
| Georgi | Facello | 10001 | 66961 | 1991-06-25 | 1990-06-25 |
| Georgi | Facello | 10001 | 71046 | 8 1992-06-24 | 1991-06-25 |
(...)
Görünümlerle bir tabloyla etkileşimde bulunabildiğimiz gibi etkileşim kurabildiğimiz için >= 50000, orijinal sorgudan almak ve görünüme uygulamak mümkündür.
select * from named_salaries where salary >= 50000;
Çıktı (kesilmiş):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
(...)
| Bezalel | Simmel | 10002 | 65828 | 1997-08-03 | 1996-08-03 |
(...)
| Chirstian | Koblick | 10004 | 50594 | 1992-11-29 | 1991-11-30 |
(...)
| Kyoichi | Maliniak | 10005 | 78228 | 1990-09-12 | 1989-09-12 |
(...)
| Anneke | Preusig | 10006 | 53747 | 1998-08-03 | 1997-08-03 |
(...)
+------------+-----------+--------+--------+------------+------------+
Gördüğünüz gibi, sorgu görünümü geleneksel bir tablo gibi ele aldı.
Başka bir örnekte bir görünüm kullanalım. Aşağıda, bölüm yöneticilerini, adlarını / soyadlarını, çalışan numaralarını, bölüm adlarını ve bölüm numaralarını listeleyen oldukça uzun bir sorguya sahibim. Sorgu, birkaç farklı tablodaki verileri bir araya getirir.
select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
Çıktı (kesilmiş):
+-------------+--------------+--------+------------+------------+--------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+-------------+--------------+--------+------------+------------+--------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| DeForest | Hagimont | 110511 | 1992-04-25 | 1985-01-01 | Development | d005 |
| Leon | DasSarma | 110567 | 9999-01-01 | 1992-04-25 | Development | d005 |
(...)
Gördüğünüz gibi, departman yöneticilerinin her listesini getirmeniz gerektiğinde bu sorguyu yazmak biraz rahatsız edici olacaktır. Daha kolay hale getirmek için bir görünüm oluşturalım. Görünümü "yönetim" olarak adlandıracağım.
create view management as select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
Şimdi, select * from management;aynı verileri almak için yazabiliriz . Tabii ki, buna geleneksel parametreler gibi ek parametreler de uygulayabiliriz. Örneğin, yalnızca "Müşteri Hizmetleri" bölüm müdürlerini göstermek istediğimizi varsayalım.
select * from management where dept_name = 'Customer Service';
Çıktı:
+------------+-------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+-------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
+------------+-------------+--------+------------+------------+------------------+---------+
Ya da belki "Müşteri Hizmetleri" ve "İnsan Kaynakları" istiyoruz:
select * from management where dept_name = 'Customer Service' OR dept_name = 'Human Resources';
Çıktı:
+------------+--------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+--------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| Shirish | Ossenbruggen | 110183 | 1992-03-21 | 1985-01-01 | Human Resources | d003 |
| Karsten | Sigstam | 110228 | 9999-01-01 | 1992-03-21 | Human Resources | d003 |
+------------+--------------+--------+------------+------------+------------------+---------+
Bir görünümü silmek çok basittir. Bir tabloyu kaldırmaya benzer şekilde, yazın drop view view_name;. Biz silmek istiyorsa Örneğin, named_salaries görünümü komut şu şekilde olacaktır: drop view named_salaries;.
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.