RSS Feed

Mysql 5.5 instalacja ze źródeł

Październik 6th, 2011 by admin in Instalacja, MySQL

Nie ma dla Debiana gotowej paczki z mysql 5.5, dlatego trzeba sobie skompilować, jak dawniej. Pobieramy ze strony http://dev.mysql.com/downloads/mysql/ aktualne źródło (Select Platform -> Source code).
Do kompilacji będą potrzebne:
apt-get install make cmake bison g++
Rozpakowujemy źródła:
tar xzf mysql-5.5.16.tar.gz
cd mysql-5.5.16
cmake .
make
make install (zainstaluje do /usr/local/mysql)
lub make install DESTDIR=”/dowolny/katalog”
make install scripts
Dodajemy użytkownika i grupę:
groupadd mysql
useradd -r -g mysql mysql
Zmieniamy właściciela
chown -R mysql.mysql /usr/local/mysql
Tworzymy tabele z uprawnieniami skryptem:
scripts/mysql_install_db –user=mysql
Uruchamiamy bazę poprzez:
/usr/local/mysql/bin/mysqld_safe
Standardowo my.cnf będzie czytany z katalogu /etc/mysql/my.cnf
Jeśli chcemy aby był używany inny plik/katalog uruchamiamy mysqla tak:
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/mysql/my_ok_22.cnf


mysql – tworzenie bazy danych

Sierpień 9th, 2011 by admin in MySQL

CREATE DATABASE nazwa_bazy CHARACTER SET utf8 COLLATE utf8_general_ci;


Kilka instancji mysql na jednym serwerze

Listopad 20th, 2010 by admin in MySQL

useradd mysql2
mkdir /var/run/mysqld2
chown mysql2.mysql2 /var/run/mysqld

do /etc/mysql/my.cnf należy dodać sekcję:
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
password = haslo

oraz sekcję [mysql] zmienić na [mysql1] oraz dodać kolejną [mysql2], itd.

W każdej sekcji należy ustawić:
[mysql2]
user = mysql2
pid-file = /var/run/mysqld2/mysqld.pid
socket = /var/run/mysqld2/mysqld.sock
port = 3307
basedir = /usr
datadir = /srv/db/mysql2

startujemy wybrane mysql, np.
/etc/init.d/mysql start 2


Error 2020: Got packet bigger than ‘max_allowed_packet’ bytes when dumping table

Listopad 19th, 2010 by admin in MySQL

Podczas zrzutu bazy pojawia się error:
mysqldump -u user -phaslo baza >plik
mysqldump: Error 2020: Got packet bigger than ‘max_allowed_packet’ bytes when dumping table `lex_tresci` at row: 38566

Należy ustawić max_allowed_packet na wyższą wartość. Nie pomaga ustawienie w my.cnf. Należy dodać do wywołania mysqldumpa:
mysqldump –max_allowed_packet=512M -u user -phaslo baza >plik


mysql – uprawnienia do bazy (grant)

Wrzesień 23rd, 2010 by admin in MySQL

Przyznanie uprawnień do bazy z poziomu administratora:
Z localhosta:
grant all privileges on nazwa_bazy.* to nazwa_usera@localhost identified by ‘haslo’;
Z konkretnego IP:
grant all privileges on nazwa_bazy.* to nazwa_usera@195.64.174.x identified by ‘haslo’;
Z dowolnego IP:
grant all privileges on nazwa_bazy.* to nazwa_usera@’%’ identified by ‘haslo’;


ERROR 1005 (HY000) at line 32: Can’t create table ‘./tabl/tabl_entry.frm’ (errno: 150)

Lipiec 21st, 2010 by admin in MySQL

Przy próbie odtworzenia bazy mysql z dumpa pojawia się taki błąd:
ERROR 1005 (HY000) at line 32: Can't create table './tabl/tabl_entry.frm' (errno: 150)
Tabela zawiera klucz do innej tabeli, która jeszcze nie istnieje:
CONSTRAINT `tabl_entry_FK_1` FOREIGN KEY (`author_id`) REFERENCES `tabl_user` (`id`),
Aby mysql nie sprawdzał tego należy na początku dumpa dodać:
SET FOREIGN_KEY_CHECKS = 0;


MySQL – obejście zapomnianego hasła root

Grudzień 2nd, 2009 by admin in MySQL

1. Zatrzymanie mysqla

2. Uruchomienie serwera:

mysqld –skip-grant-tables

3. Połączenie do bazy mysql jako root bez hasła

4. Ustawienie hasła

update user set password=PASSWORD("NEWPASSWORD") where User='root';

5.Restart MySQLa.


MySQL: reset AutoIncrementu

Grudzień 2nd, 2009 by admin in MySQL

ALTER TABLE tablica AUTO_INCREMENT=1111;


Polskie literki po imporcie

Grudzień 2nd, 2009 by admin in MySQL

w /etc/mysql/my.ini:

[mysqld]

collation_server=utf8_unicode_ci
character_set_server=utf8
# To powoduje, że serwer wymusza kodowanie

#i nie trzeba w php stosować set names utf8 po każdym połączeniu.
skip-character-set-client-handshake