Debianda NFS Paylaşımı Ayarla
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
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
bzip2
Dosyayı çı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 as
iç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;
.
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Farklı Bir Sistem mi Kullanıyorsunuz? Thelia, e-iş web siteleri oluşturmak ve PHP ile yazılmış çevrimiçi içeriği yönetmek için açık kaynaklı bir araçtır. Thelia kaynak kodu i
Bu makale size Debianda nasıl bir cezaevi hapishane kurulacağını öğretecek. Debian 7.x kullandığınızı varsayıyorum. Debian 6 veya 8 çalıştırıyorsanız, bu işe yarayabilir, bu
Farklı Bir Sistem mi Kullanıyorsunuz? InvoicePlane ücretsiz ve açık kaynaklı bir faturalandırma uygulamasıdır. Kaynak kodu bu Github deposunda bulunabilir. Bu rehber
Giriş Debian 10 (Buster), Debian 9un (Stretch) halefidir. 6 Temmuz 2019da piyasaya sürüldü. Bu derste, bir var olanı yükselteceğiz
Farklı Bir Sistem mi Kullanıyorsunuz? Backdrop CMS 1.8.0, basit ve esnek, mobil uyumlu, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? BookStack, bilgileri düzenlemek ve depolamak için basit, kendi kendine barındırılan, kullanımı kolay bir platformdur. BookStack tamamen ücretsiz ve açık
Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar
Golang, Google tarafından geliştirilen bir programlama dilidir. Çok yönlülüğü, sadeliği ve güvenilirliği sayesinde Golang en popüler topluluklardan biri haline geldi
Farklı Bir Sistem mi Kullanıyorsunuz? Bolt PHP ile yazılmış açık kaynaklı bir CMSdir. Cıvata kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Bolt CMnin nasıl kurulacağını gösterecektir
Munin, makinenizdeki süreçleri ve kaynakları araştırmak için bir izleme aracıdır ve bilgileri bir web arayüzü aracılığıyla grafiklerde sunar. Aşağıdaki kullanın
Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür
Farklı Bir Sistem mi Kullanıyorsunuz? PyroCMS, PHP ile yazılmış açık kaynaklı bir CMSdir. PyroCMS kaynak kodu GitHubda barındırılmaktadır. Bu kılavuzda entir boyunca yürüyün
Giriş Bu eğitimde, CentOS, Debian veya Ubuntu çalıştıran bir Linux sunucusuna tüm IP aralığını / alt ağını ekleme işlemini ele alacağız. Süreç
Bu kılavuzda, Debian 7de Counter Strike: Source oyun sunucusu kuracağız. Bu komutlar Debian 7de test edildi, ancak aynı zamanda o
Snort, ücretsiz bir ağ saldırı tespit sistemidir (IDS). Daha az resmi terimle, ağınızı şüpheli etkinlikler için gerçek zamanlı olarak izlemenizi sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
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.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
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.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
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.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun