Když manažeři viděli celkovou cenu za licence na Oracle, bleskurychle rozhodli, že mimořádná investice do IT se mimořádně odkládá na příští rok a proto se zatím máte soustředit na menší databazový kalibr – MySQL. Když za vámi přijde programátor Jarda s kulatým zarostlým obličejem téměř skrývající tázavý pohled, je vám jasné, že nezbývá než se MySQL podívat pořádně na zoubek a Jardovi ukázat, jak na to.
Hint:
aptitude update aptitude install mysql-server E: Internal Error, Could not perform immediate configuration (2) on util-linux A package failed to install. Trying to recover: dpkg --force-all -i /var/cache/apt/archives/util-linux_2.17.2-0ubuntu1_amd64.deb aptitude install mysql-server
jarda-test.jarda s plným přístupem do databáze jarda-test.jarda-web s přístupem pouze pro čtení do databáze jarda-test.jarda-web bude dobrý pro část webové aplikace, která jenom čte data (nemůže zapisovat, mazat, … záznamy z databáze).jarda-test a obnovit ji do databáze jarda-test2.jadra pomocí GRANT a pomocí DML nad mysql.users.aptitude install mysql-server-5.0/etc/mysql/my.cnf zakomentovat bind-address = 127.0.0.1;
CREATE DATABASE `jarda-test`;CREATE TABLE zakaznik
(id INTEGER, jmeno VARCHAR(255), prijmeni VARCHAR(255), aktivni SMALLINT, PRIMARY KEY (id));CREATE INDEX zakaznik_prijmeni_index ON zakaznik2 (prijmeni(15));GRANT ALL PRIVILEGES ON `jarda-test`.* TO jarda@localhost IDENTIFIED BY 'superheslo' WITH GRANT OPTION;GRANT SELECT ON `jarda-test`.* TO `jarda-web`@localhost IDENTIFIED BY 'superheslo' WITH GRANT OPTION;CREATE TABLE `zakaznik2` ( `id` int(11) NOT NULL default '0', `jmeno` varchar(255) default NULL, `prijmeni` varchar(255) default NULL,
`aktivni` smallint(6) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;BEGIN; INSERT INTO zakaznik VALUES (2, 'a', 'b', 0); INSERT INTO zakaznik2 VALUES (2, 'a', 'b', 0); SELECT * FROM zakaznik; SELECT * FROM zakaznik2;
SELECT * FROM zakaznik; a SELECT * FROM zakaznik2;COMMIT;
SELECT * FROM zakaznik2;BEGIN; INSERT INTO zakaznik VALUES (3, 'a', 'b', 0); INSERT INTO zakaznik2 VALUES (3, 'a', 'b', 0); ROLLBACK;
SELECT * FROM zakaznik;SELECT * FROM zakaznik2;CREATE DATABASE `jarda-test2`;mysqldump jarda-test | mysql jarda-test2; nebo mysqldump –opt jarda-test.sql; mysql jarda-test2 < jarda-test.sql/etc/mysql/my.cnf log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 1
/etc/init.d/mysql restart/etc/mysql/my.cnf log = /var/log/mysql/mysql.log
SET PASSWORD FOR 'jarda'@'localhost' = PASSWORD('noveheslo');UPDATE mysql.user SET Password=PASSWORD('noveheslo') WHERE User='jarda' AND Host='localhost'; FLUSH PRIVILEGES;mysql -h192.168.9.100 -u jarda -p (předtím musí následovat GRANT pro danou adresu)Předveďte, jak nainstalovat dvě instance MySQL na stejný server (například dvě různé verze).