Подключение к Mysql-серверу

Автор работы: Пользователь скрыл имя, 08 Января 2012 в 20:26, реферат

Описание

Сравнение версий Ubuntu 10.04 и 11
Была выбрана версия именно 10.04. Она более удобна пользователю по интерфейсу, больше напоминает Windows. 11-я же версия очень сильно поменялась внешне, что на мой взгляд сделало систему очень неудобной для обычного пользователя.

Работа состоит из  1 файл

Язык программирования сетевых приложений.docx

— 435.31 Кб (Скачать документ)
 

   А в файле "ounix.ru" мы уже описываем нашу зону и все её поддомены, NS и MX записи:

 
 
$TTL 38400  
@       IN      SOA     ns1.ounix.ru. admin.ounix.ru. (  
2007102501 ;serial  
108000 ;refresh  
1800 ;retry  
1209600 ;expiry  
604800)  
 
@       IN      NS      ns1.ounix.ru.       ; Первый (master) DNS сервер  
@       IN      NS      ns2.ounix.ru.       ; Вторичный (slave) серверзоны  
@       IN      MX 10   mail.ounix.ru.      ; MX-записьнаподдомен mail, опишемчутьпозже  
@       IN      A       195.91.211.84       ; Сама зона присваивается машине                   
mail    IN      A       195.91.211.84       ; поддомен mail присваеваем ip  
ns1     IN      A       195.91.211.84       ; поддомен ns1 тудаже  
ns2     IN      A       195.94.224.129      ; авотподдомен ns2 уйдетнадругойсервер  
ftp     IN      A       195.91.211.84        
www     IN      A       195.91.211.84        
dark    IN      A       195.91.211.84  
unix    IN      A       195.91.211.84  
test    IN      A       195.91.211.84  
jabber  IN      A       195.94.224.129

В работе описаны прямые зоны на localhost и на serv1

Хочется обратить внимание что NS и MX записи могут быть только на доменные имена, но никак не на ip адреса. Если мы пишем имя хоста полностью, обязательно ставим точку в конце, в противном случае к записи без точки добавляется имя зоны. Например, "mail" тождественно "mail.ounix.ru."  
   Таким образом, мы описали зону на master-сервере DNS. А как же вторичные сервера прописывают у себя зоны? Вот так: 

zone "ounix.ru" {  
        type slave;  
        file "slave/ounix.ru";  
        masters { 195.91.211.84; };  
    };

 
  

Мы указали, что  являемся подчиненным DNS сервером для  этой зоны, что мастер у нас 195.91.211.84, что скачивать зону на ounix.ru надо с него, а хранить ее надо в /etc/namedb/slave/ounix.ru.  И после перезапуска BIND-а, если нигде нет ошибок, на подчиненном сервере появится копия файла зоны ounix.ru 

Настраиваем обратные зоны аналогично :

 
Установка и конфигурирование MySQL

MySQL - система управления базами данных (СУБД) очень популярная в веб-разработке. MySQL используется для хранения данных для многих популярных веб-приложений.

Установка MySQL

  1. Первым шагом является установка MySQL-сервера, для этого необходимо выполнить следующую команду:

sudo apt-get install mysql-server-5.1

Во время установки  предлагается ввести пароль. Введенный  пароль 111111. MySQL сервер готов для настройки и запуска. В данный момент, нет необходимости изменять конфигурационный файл MySQL, можно лишь добавить, что располагается он здесь /etc/my.cnf.

Настройка базы данных MySQL

Активизировать  базу данных можно при помощи команды:

sudomysql_install_db

Далее, мы создадим базу данных и предоставим пользователям  разрешений на использование баз  данных. Для этого необходимо войти  в MySQL:

mysql -uroot -p

После того как  вы введете пароль root пользователя MySQL, вы сможете начать взаимодействие с MySQL сервером.

Для создания базы данных и предоставления пользователям  привилегий, введите следующую команду. Обратите внимание, двоеточие (;) в конце линии означает завершение вводы команды. Команда должна выглядеть следующим образом:

create database test; 
grant all on test.* to ’user’ identified by ’12345’; flush privileges;

В приведенном  выше примере, test это имя базы данных, user - имя пользователя c паролем 12345. Обратите внимание, что база данных имен пользователей и паролей используются только подключения к базе данных. Использование этой базы не обязательно.

Мы завершили  настройку MySQL и теперь вы можете передать учетные данные базы данных пользователям. Для выхода из администрирования MySQL введите следующую команду:

quit

Если необходимо подключатся к базе удалённо необходимо выполнить следующие действия: 

  sudo vim /etc/mysql/my.cnf
   

Находим строку: 

  bind-address = 127.0.0.1
   

Комментируем  её, добавив # в начало строки: 

  # bind-address = 127.0.0.1
   

Сохраняем файл конфигурации перезапускаем MySql: 

  sudo /etc/init.d/mysql restart
   

Всё. Теперь к  серверу MySQL можно подключаться извне.

Осталось создать  пользователей которым разрешено удалённое подключение.

Запускаем консоль  MySql и входим под : 

  mysql -uroot -p
   

Теперь создаём  пользователя:

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'remote_addr' IDENTIFIED BY 'password' WITHGRANT OPTION;

Вместо ’remote_addr’ укажите адрес хоста с которого планируется подключаться или можно указать ’%’тогда подключение будет разрешено с любого адреса, ’password’ пароль пользователя.

Для непривилегированного пользователя вместо ’GRANT ALL PRIVILEGES’ можно указать конкретные разрешённые операции, например:

  GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARYTABLES, LOCK TABLES ON *.* TO 'root'@'remote_addr' IDENTIFIED BY 'password';

Так же можно  ограничить доступ к база и таблицам указав вместо ’ON *.*’ - ’ON table’ или ’ON database.*’или ’ON database.table’, где ’table’ - имя таблица, а ’database’ - имя базу данных. 

Например, нужен  пользователь без пароля работающий с существующими таблицами в базе новостей, который может создавать, удалять, обновлять и делать выборку. 

 

Программы на языке сетевых  приложений  Java для работы с MySQL-сервеом

import java.sql.Connection;          
import java.sql.DriverManager;

import java.sql.Statement;      

  public class Main {  
  public static void main(String[] argv) throws Exception {  
  Class.forName("com.mysql.jdbc.Driver");   

  • Connection con = DriverManager.getConnection("jdbc:mysql://10.0.2.1:3306/ "root", «111111");   //Создание соединения с сервером 
        Statement st = con.createStatement();  //Создание переменной выражения 
        st.executeUpdate("CREATE DATABASE myDB");  
      }}

Программа позволяет клиенту подключатся  и создавать БД на сервере.

Информация о работе Подключение к Mysql-серверу