MySQL « Różności …

Różności …

19 czerwca 2013

MySql konwersja ISO8859-2 do UTF-8

Zaszufladkowany do: Bazy danych,MySQL — Tagi: — Jacek @ 16:46

/usr/bin/mysqldump –user=root –password=haslo –max_allowed_packet=99M –default-character-set=latin1 -c –insert-ignore –skip-set-charset -r 130619_latin1_biblioteka.sql biblioteka

file nazwa_pliku_dumpa.sql (pokazuje w jakim jest kodowaniu)

iconv -f ISO8859-2 -t UTF-8  nazwa_pliku_dumpa.sql > nazwa_pliku_dumpa-utf-8.sql

drop database

CREATE DATABASE nazwa_bazy_danych CHARACTER SET utf8 COLLATE utf8_general_ci

mysql -uroot -ppassword --default-character-set=utf8 nazwa_bazy_danych < nazwa_pliku_dumpa-utf-8.sql

zmiana templateów:

for i in *.tpl; do iconv -f ISO8859-2 -t UTF-8 $i > $i”_utf8″; done

for i in *.tpl; do mv “$i” “$(basename “$i” .tpl).tpl_iso8859_2″; done

25 grudnia 2010

MySQL – podstawy

Zaszufladkowany do: Bazy danych,MySQL — Tagi: — Jacek @ 22:45
mysql> SELECT * FROM Cars INTO OUTFILE '/tmp/cars.csv'
    -> FIELDS TERMINATED BY ',';


http://zetcode.com/databases/mysqltutorial/exportimport/

łączenie do MySQL mysql przetargi --host=153.19.105.4 -p sql> grant all privileges on nazwabazy.* to user@localhost identified by "jakieshaslo";

mysql> set character_set_client=latin2;

mysql> set character_set_connection=utf8;

mysql> load data infile "/tmp/przyswajalne" into table strony fields
terminated by ';' LINES TERMINATED BY '\r\n' (nazwa_html,zawartosc);

mysql> CREATE DATABASE akw_baza_test DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci;

mysql> create table produkty (nr INT NOT NULL AUTO_INCREMENT, kategoria
VARCHAR(20), jednostka VARCHAR(10), iloscp INT, wstog FLOAT, odchylenie
FLOAT, co VARCHAR(50), rodzaj VARCHAR(50), podrodzaj VARCHAR(50), sklasnik
VARCHAR(60), PRIMARY KEY (nr)) default character set utf8;

mysql> alter table produkty add column skladnik VARCHAR(60);

mysql> load data infile "d:\\jacek\\pierdoly\\trans\\1.csv" into table
produkty character set cp1250 fields terminated by ';' LINES TERMINATED BY
'\r\n' (skladnik, jednostka, iloscp, wstog, odchylenie);

sql> update produkty set kategoria="konserwa" where nr<12;

character_set_client = the character set data from the client is encoded in
character_set_connection = MySQL converts incoming data to. It converts
from character_set_client
character_set_results = MySQL converts outgoing data to
character_set_server = character set for the new database
character_set_database = character set for the new tables
character_set_system = the character set for meta data: database, table,
column names

aby ustawić:
set character_set_results = latin2; (lub utf8, lub iso-8859-2)

show variables like "%char%";
show variables like "%collation%";

aby poprawnie wpisywać z windowsowej konsoli trzeba ustawić:
set character_set_client = cp852;
również aby poprawnie zobaczyć w konsoli jakie są zapisy w kolumnach
trzeba ustawić
set character_set_results = cp852;
aby na stronie WWW wyświetlało się poprawnie należy ustawić:
mysql_query("SET character_set_results=utf8"); lub latin2
tuż przed zadaniem zapytania

mysqldump --user=root --password=haslo --default-character-set=utf8 --opt
-all badania > badania.sql
mysql db_name < backup-file.sql

create table opla_pass (numer int NOT NULL auto_increment, user
varchar(100), haslo varchar(100), ip varchar(30), nazwa_komputera
varchar(40), PRIMARY KEY (numer));

create table skany (porzadkowy int not null auto_increment, numer int,
skan blob, primary key (porzadkowy));

grant select,insert,update,delete on faktury.* to 'fakt'@'localhost'
identified by 'haslo';

alter table skany modify column skan longblob;
alter table skany drop column data_dodania;

logowanie do pliku zewnętrznego:
mysql> tee mysql.out
Logging to file 'mysql.out'

echo "select * from customer;" | mysql {required options} custdb >
customer.txt

mysql> insert into produkty (kategoria, jednostka, iloscp, wstog,
odchylenie, co, rodzaj, podrodzaj, skladnik, medium, coi
d) values ("", "miligramy", "10", "6490.5" , NULL, "szprot w oleju",
"kwasy tłuszczowe", "nasycone", "", "", "2");
/usr/local/mysql/bin/mysqldump --user=root --password=haslo --max_allowed_packet=99M --opt --all spamassassin > spamassassin.sql

24 grudnia 2010

MySQL – zwiększenie rozmiaru bazy danych

Zaszufladkowany do: Bazy danych,MySQL — Tagi: — Jacek @ 14:00
mysql> show engines;
mysql> show table status;
aby dodać miejsce (INNODB) trzeba zamknąć bazę:
mysqladmin -u root -p shutdown
a następnie w /etc/my.cnf trzeba dodać kolejny plik
innodb_data_file_path = dbdata1:200M;dbdata2:200M;dbdata3:512M
i uruchomić bazę ponownie.

Strona startowa: www.jaceksen.pl