от Slavei Karadjov(20-04-2000)

рейтинг (80)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Тази статия има за цел да запознае потребителите на Linux с основните стъпки при инсталиране и работата с MySQL.

Съдържание:

Какво е MySQL

MySQL (произнася се "Май Ес Кю Ел" ) е много бърза и стабилна система за управление на Бази от Данни, която използва SQL(Structured Query Language).

За Linux MySQL e практически безплатен. За използването му в големи комерсиални проекти трябва да прочетете MySQL лиценза .

На официалната станица www.mysql.com може да откриете актуална информация за MySQL.

Инсталиране от RPM пакети

Ако вашата Linux дистрибуция е RedHat, най-добре ще бъде да инсталирате MySQL от RPM пакети. За целта трябва да си свалите RPM пакета, който можете да откриете на адрес: http://www.mysql.com. Последната версия е 3.22.32. От страницата http://www.mysql.com/download_3.22.html свалете следния файл:

  • Линкът към файла се казва "The server for i386 systems (RedHat)", а файлът се казва
    MySQL-3.22.32-1.i386.rpm
Ако искате да си свалите различни клиентски програми за MySQL
  • Линкът към файла се казва "Client programs for i386 systems (RedHat)", а файлът се казва MySQL-client-3.22.32-1.i386.rpm
Ако Вашата дистрибуция не е RedHat, тогава си свалете файла (mysql-3.22.32-pc-linux-gnu-i686.tar.gz) и прочетете Инсталиране на MySQL на дистрибуции различни от RedHat.

След като свалите RPM пакетите, влезте в директорията, в която се намират пакетите, влезте като root потребител, ако не сте го направили и инсталирайте пакетите посредством следната команда:

# rpm -Uvh MySQL*

Инсталиране на MySQL на дистрибуции различни от RedHat

Ако вашата дистрибуция не е RedHat, тогава си свалете файла mysql-3.22.32-pc-linux-gnu-i686.tar.gz След което влезте в директорията, в която сте свалили файла и го разархивирайте. Не забравяйте да влезете като root потребител. Ако директорията, в която сте сложили файла се казва /tmp, то трябва да напишете следните команди:

$ cd /usr/local
$ su
# tar -zxvf /tmp/mysql-3.22.32-pc-linux-gnu-i686.tar.gz

След разархивирането в /usr/local се появява нова директория с дългото име mysql-3.22.32-pc-linux-gnu-i686. Добре е да направите символна връзка към тази директория

# ln -s mysql-3.22.32-pc-linux-gnu-i686 mysql

Така вашият MySQL се намира в директорията /usr/local/mysql. Това е директорията, която повечето приложения за MySQL използват по подразбиране, а и по този начин избягвате бъдещи главоболия.

Създаване на оснoвнaта MySQL базa

След като сте инсталирали MySQL, на Вашия Linux трябва да стартирате малък скрипт, който ще създаде основната MySQL база. За целта влезте в директорията< където е инсталиран MySQL и пишете следната команда:

# scripts/mysql_install_db


Ако всичко мине без съобщения за грешки, тогава сте готови да стартирате MySQL сървъра.

Стартиране на MySQL сървъра

За да стартирате MySQL сървъра трябва да влезете в MySQL директорията( в нашия случай /usr/local/mysql) и оттам да напишете следната команда:

# bin/safe_mysqld

Ако имате късмет ще получите съобщение от рода на:

Starting mysqld daemon with databases from /usr/local/mysql

За да се стартира автоматично MySQL сървъра, трябва да накарате файла mysql.server да се стартира при началното зареждане на Linux.

Как можете да направите това?

  • Под RedHat трябва да напишете следните команди:
  • # cd /etc/rc.d/init.d
    # cp /usr/local/mysql/support-files/mysql.server mysql

    След което направете файла /etc/rc.d/init.d/mysql изпълним

    # chmod +x mysql

    И още:

    # /sbin/chkconfig --del mysql
    # /sbin/chkconfig --add mysql

  • Под Slackware направете следното:
  • # cd /etc/rc.d/
    # cp /usr/local/mysql/support-files/mysql.server rc.mysql
    # chmod +x rc.mysql

    Сега редактирайте файла/etc/rc.d/rc.local и добавете следния ред ако го няма

    # Startirane na MySQL
    if [ -x /etc/rc.d/rc.mysql ]; then
    echo "Trying to start MySQL...."
    /etc/rc.d/rc.mysql
    else
    echo "Unable to start MySQL"
    fi

  • За други дистрибуции може би трябва да направите същото, както под RedHat.
  • Създаване на проста база и разглеждане на нейната структура

    Влезте в bin директорията на MySQL

    #cd /usr/local/mysql/bin

    Сега е времето да промените административната парола. За целта напишете следното:

    # mysqladmin -u root novataparola

    Не забравяйте да замените "novataparola" с паролата, която желаете да използвате!

    Накарайте MySQL да се подготви за създаване на нова база

    #mysqladmin create database01
             Database "database01" created.

    Ако издаде съобщение, че паролата на потребителя е неправилна, напишете следното:

    #mysqladmin create database01 -u root -p

    След което програмата ще Ви попита за парола. Въведете паролата и натиснете клавиша ENTER.

    Стартирайте програмата /usr/local/mysql/bin/mysql. Ако програмата не Ви позволява да влезете пишете:

    #/usr/local/mysql/bin/mysql -u root -p

    За парола въвеждате административната парола на MySQL-a.
    След което трябва да получите следното съобщение:


    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 22 to server version: 3.21.29a-gamma-debug

    Type 'help' for help.

    За да използваме базата database01, трябва да напишем следното:

    mysql> use database01

    Създаването на таблици в тази база става чрез SQL заявки. Една такава заявка изглежда по следния начин:

    mysql> create table table01 (field01 integer,field02 char(10));
             

    За да бъде изпълнена SQL заявката, тя трябва да завършва с ";". Ако искате да разгледате всички таблици във базата database01 пишете:

    mysql> show tables;
             +----------------------+
             | Tables in database01 |
             +----------------------+
             | table01              |
             | table02              |
             +----------------------+
      

    Или всичките полета в таблицата table01

    mysql> show columns from table01;
             +---------+----------+------+-----+---------+-------+
             | Field   | Type     | Null | Key | Default | Extra |
             +---------+----------+------+-----+---------+-------+
             | field01 | int(11)  | YES  |     |         |       |
             | field02 | char(10) | YES  |     |         |       |
             +---------+----------+------+-----+---------+-------+
      

    Добавяне на информация в таблиците

    За да добавите информация в таблиците отново се използват SQL заявки. Пример за това е следната заявка:

    mysql> insert into table01 (field01,field02) values (1,'first');
             Query OK, 1 row affected (0.00 sec)
             

    За да видите информацията в table01 пишете:

    mysql> select * from table01;
             +---------+---------+
             | field01 | field02 |
             +---------+---------+
             |       1 | first   |
             +---------+---------+
      

    Добавяне на полета в таблица

    По едно поле всеки път

    mysql> alter table table01 add column field03 char(20);
             Query OK, 1 row affected (0.04 sec)
             Records: 1  Duplicates: 0  Warnings: 0

    ...или много полета наведнъж

    mysql> alter table table01 add column field04 date,add column field05 time;
             Query OK, 1 row affected (0.04 sec)
             Records: 1  Duplicates: 0  Warnings: 0

    Какъв е резултатът от това?

    mysql> select * from table01;
             +---------+---------+---------+---------+---------+
             | field01 | field02 | field03 | field04 | field05 |
             +---------+---------+---------+---------+---------+
             |       1 | first   | NULL    | NULL    | NULL    |
             +---------+---------+---------+---------+---------+
      

    Добавяне на няколко записа наведнъж

    Тази заявка трябва да свърши работа

    mysql> insert into table01 (field01,field02,field03,field04,field05) values
                 -> (2,'second','another','1999-10-23','10:30:00');
             Query OK, 1 row affected (0.00 sec)
             

    Стандатният формат за дата е "гггг-мм-дд". Ако искате да напишете дадена заявка на повече от един ред натиснете ENTER. Внимавайте да не разделите някоя ключова дума при преминаването Ви на следвашия ред. Например int и на следвашия ред er ще Ви даде грешка. Както вече споменах за край на SQL заявката се използва ";".

    Обновяване на информацията

    Става посредством следната SQL заявка .

    mysql> update table01 set field03='new info' where field01=1;
             Query OK, 1 row affected (0.00 sec)
             
             

    Ако искате да обновите повече от едно поле във таблицата

    mysql> update table01 set field04=19991022, field05=062218 where field01=1;
             Query OK, 1 row affected (0.00 sec)

    За да проверите какво се е променило в таблицата пишете:

    mysql> select * from table01;
      +---------+-----------+------------------+------------+----------+
      | field01 | field02   | field03          | field04    | field05  |
      +---------+-----------+------------------+------------+----------+
      |       1 | first     | new info         | 1999-10-22 | 06:22:18 |
      |       2 | second    | another          | 1999-10-23 | 10:30:00 |
      |       3 | third one | more foo for you | 1999-10-24 | 10:30:01 |
      +---------+-----------+------------------+------------+----------+

    Изтриване на информация

    За да изтриете запис от таблицата table01 използвайте следната заявка:

    mysql> delete from table01 where field01=3;
             Query OK, 1 row affected (0.01 sec)

    Резултатът е:

    mysql> select * from table01;
      +---------+---------+----------+------------+----------+
      | field01 | field02 | field03  | field04    | field05  |
      +---------+---------+----------+------------+----------+
      |       1 | first   | new info | 1999-10-22 | 15:29:01 |
      |       2 | second  | another  | 1999-10-23 | 15:29:01 |
      +---------+---------+----------+------------+----------+          
      

    Как да излезете от програмата?

    Пишете :

    mysql> quit
             Bye

    Това е!

    В заключение:

    В заключение ще кажа, че това четиво трябва да Ви е помогнало да си инсталирате MySQL на вашият Linux. Тъй катоMySQL работи посредством изпълняване на SQL команди, трябва да знаете SQL(Structured Query Language), за да можете да направите нещо. Еднo добрo четиво за SQL е Introduction to Structured Query Language. Трябва да знаете английски, естествено.
    Има графични и web базирани програмки, които Ви помагат да правите таблици, бази, да променяте,изтривате или обновявате информация в MySQL сървъра. Проверете за тях на freshmeat.net или www.icewalk.com



    << Управление на пакетите под Slackware | Инсталиране и конфигуриране на Samba (част 3) >>