curs de base de dades mysql/openoffice.org...

31
Curs de base de dades MySQL/OpenOffice.org 1.1.0 Mdul 1: Instal•laci i Configuraci Antoni Salv Salv Maig 2004 Materials de Formaci

Upload: vanxuyen

Post on 28-Apr-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de base de dadesMySQL/OpenOffice.org 1.1.0

Mòdul 1: Instal·lació i Configuració

Antoni Salvà Salvà

Maig 2004

Materials de Formació

Page 2: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

L'autor vol agrair a Bartomeu Mascaró Soler la seva col·laboració en la redacciód'aquest tutorial.

Curs Base de Dades MySQL/OpenOffice.org 1.1.0© Antoni Salvà Salvà, 2004 © D'aquesta edició:Servei de Formació Permanent del ProfessoratDirecció General d'Ordenació, Innovació i Formació del ProfessoratGovern de les Illes BalearsConselleria d'Educació i Cultura

Page 3: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Contingut

1 Introducció......................................................................................................................................................12 El servidor MySQL: autenticació i accés als recursos. .............................................................................13 MS Windows 5

3.1 Instal·lació 53.2 Configuració bàsica del servidor MySQL per a Windows........................................................................63.3 Definició de l'enllaç a MySQL per a OpenOffice.org ...............................................................................8

4 GNU/Linux.....................................................................................................................................................164.1 Instal·lació 16

4.1.1 Disponibilitat del servidor MySQL a Linux .....................................................................................184.2 Configuració bàsica del servidor MySQL per a Linux............................................................................194.3 Configuració del connector ODBC.........................................................................................................214.4 Definició de l'enllaç a OpenOffice.org 1.1..............................................................................................24

5 Connectar OpenOffice.org a una base de dades de MySQL (Windows i Linux)...................................26

Page 4: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió
Page 5: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

1 IntroduccióEl projecte OpenOffice.org ha proporcionat un programari ofimàtic d'alta qualitat, compatible

amb arxius amb el format del paquet ofimàtic comercial de Microsoft Office i amb tots elsavantatges afegits que té el programari multiplataforma (es troben versions per a Windows i per aLinux) i la seva distribució sota llicència GNU. No obstant això, d'ençà del moment en què es vacomençar a posar a disposició dels usuaris, es va fer palès que calia incorporar la possibilitat decrear i gestionar bases de dades en un entorn gràfic, a l'estil de MS Access, que forma part delpaquet ofimàtic MS Office.

La versió comercial d'OpenOffice, StarOffice, en la darrera versió que es distribuïa de formagratuïta, StarOffice 5.2, incorporava com a motor de base de dades una versió limitada d'Adabasencara que establia per defecte l'accés a taules del formate dBase (extensió .dbf). El fet queAdabas sigui un producte comercial i que dBase no sigui una base de dades relacional noafavoria la política de lliure distribució i codi obert amb què va nèixer OpenOffice.org.

La solució proposta per l'equip de desenvolupadors i col·laboradors d'OpenOffice.org va ésserdotar a aquest paquet ofimàtic amb la màxima versatilitat quant a la possibilitat de fer servirdistints motors de bases de dades, comercials i/o de codi lliure, i incorporar un gestor gràfic debases de dades per poder realitzar la creació de taules i consultes dins de l'entornOpenOffice.org. Per altra banda, una vegada OpenOffice.org ha establert un enllaç amb una basede dades, es poden fer servir la inserció d'objectes de formulari per a la creació de pàgines deformulari en qualsevol format: com a document de text, com a pàgina de presentació o com apàgina web.

Els documents d'OpenOffice.org (textos, pàgines web o presentacions) poden establir enllaçosamb bases de dades de molts diferents formats (vegeu, per exemple, al tutorial del curs de�Bases de Dades Access�, la forma per establir una connexió d'OpenOffice.org a una base dedades MS Access). En aquest curs, però, farem servir el motor de base de dades MySQL. Ésamb aquest producte amb el qual OpenOffice en la documentació recient orienta l'accés a basesde dades des de qualsevol dels documents que es creïn amb aquest paquet ofimàtic. Elprogramari que executa el servidor MySQL i el programa de gestió del servidor és gratuït si no esfa servir per part d'entitats que desenvolupen activitats comercials.

Com d'altra programari que funciona com a gestor de bases de dades relacionals avançats(com per exemple PostGre, Oracle o Sybase), MySQL es fonamenta en una estructuraservidor/client. És a dir, el programa de gestió de base de dades (servidor) rep, processa i dónaresposta a les peticions que fan els programes clients que hi estiguin connectats (en aquest cas,el client serà l'OpenOffice).

Un cop instal·lat el servidor, el que ens caldrà serà, precisament, definir la connexiód'OpenOffice a MySQL. A la versió 1.0.2 d'OpenOffice això es realitzava mitjançant una peça deprogramari específica: JDBC (Java Data Base Connectivity) per a Windows i unixODBC (OpenData Base Connectivity per a UNIX/Linux) per a Linux. Una de les millores que va introduir laversió 1.1.0 d'OpenOffice va ser la d'integració dins del paquet del programa dels connectorsnecessaris per accedir a MySQL (MyODBC), de forma que no es requereix una instal·lacióaddicional. De totes formes, el programa està obert a la definició de l'ús d'altres connectors(JDBC).

En aquest mòdul veurem la forma d'instal·lar i configurar un ordinador com a servidor local debases de dades MySQL per al seu accés des de qualsevol aplicació d'OpenOffice.org, per a MSWindows i per a Linux mitjançant el connector ODBC. Un cop feta la tascad'instal·lació/configuració, el procediment de treball, que veurem al mòdul 2 del curs, serà elmateix per a tots dos sistemes operatius.

2 El servidor MySQL: autenticació i accés als recursos. Abans d'instal·lar i configurar el servidor MySQL i el programari de connectivitat ODBC, cal tenir

Autor: Antoni Salvà Salvà 1

Page 6: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

en compte que una de les característiques de MySQL i d'altres servidors de bases de dadesrelacionals dissenyats per al treball compartit és la gestió avançada de la seguretat. Aquestagestió es porta a terme mitjançant l'anomenat "Sistema de privilegis" per part de l'administradordel sistema. La funció d'aquest sistema és assegurar-se que els usuaris poden realitzar dins delservidor MySQL només les tasques per a les quals aquests estan autoritzats.

Quan una persona vol connectar-se a un servidor MySQL, la seva identitat es determina perl'ordinador des del qual es fa connexió i per l'identificador d'usuari al servidor MySQL que aquestespecifica (que no té perquè coincidir amb l''usuari de la màquina o del domini de xarxa). Un copintroduïda una contrasenya, el sistema concedeix els privilegis o permisos assignats a la identitatde l'usuari de la màquina des de la qual fa l'accés per intervenir en el servidor. És a dir, a efectesd'autenticació, MySQL té en compte tant el nom de l'ordinador des del qual es fa l'accés com eldel nom de l'usuari en la identificació de la persona que accedeix al sistema. Així, els nomsd'usuari del servidor MySQL són de l'estil nom_usuari@nom_ordinador. Als efectes d'aquestmòdul treballarem en un servidor instal·lat a la mateixa màquina des de la qual volem accedir ales bases de dades (localhost) i en el qual tenim drets d'administrador de l'equip. En aquestescondicions, els noms d'usuari seran de l'estil, per exemple, antoni@localhost. Aquest nomd'usuari assenyala que l'usuari antoni pot accedir al servidor desde la màquina localhost (elmateix ordinador en el que córre MySQL).

Per a l'accés a servidors MySQL que es troben instal·lats a les xarxes delscentres integrats en el Projecte Xarxipèlag consultau l'administrador del sistema,el coordinador de TIC del vostre centre.

A l'apartat de suport tècnic de la weib, està disponible eldocument:http://weib.caib.es/Suport/doc_tecnic/materials_pdf/gestio_bd_xarxi.pdfon s'expliciten les instruccions per a la instal·lació corporativa del servidor MySQLi per connectar, mitjançant ODBC o per JDBC les bases de dades aOpenOffice.org.

L'autenticació diferenciada a la màquina i al servidor MySQL fa que una mateixa persona puguitenir el mateix nom d'usuari i contrasenya des de dues màquines distintes des de les quals fa laconnexió (per exemple un accés des d'un ordinador local en el qual s'executa el servidor MySQL iun altre ordinador de la xarxa, amb una IP concreta o dins d'un domini), però els privilegis podrienestar diferenciats per motius de seguretat. Així, és habitual definir que els privilegis d'administracióestiguin només atorgats a usuaris que accedeixen al servidor des del mateix ordinador local,mentre que per a l'operació amb bases de dades els usuaris hi puguin accedir des de màquinesautoritzades de la xarxa.

És necessari tenir clar que els noms d'usuari, que es fan servir per part del servidor MySQL alsefectes d'autenticació, no tenen res a veure amb els noms d'usuari de Linux a una màquina(comptes d'usuari) o els noms d'usuari a una domini de xarxa. No obstant això, a entornsUNIX/Linux, els programes client que intenten establir una connexió amb un servidor MySQLentenen per defecte que es vol accedir amb el mateix nom del compte d'usuari que s'ha validat al'equip. Com veurem, aquests programes client també permeten d'especificar un nom d'usuaridiferent.

A més, les contrasenyes d'accés al servidor MySQL tampoc tenen res a veure amb lescontrasenyes d'accés a la màquina o a la xarxa. Per aquest motiu ens podem trobar que peraccedir a una màquina ens haurem de validar una vegada com a usuaris del nostre compte (dinsd'un domini d'una xarxa o com a usuari a una màquina Linux) i una segona vegada com a usuarisd'un servidor MySQL amb un nom d'usuari que pot ser diferent al del nostre compte i amb unaaltra contrasenya.

En una primera fase, el servidor verifica que l'ordinador des del qual es fa la connexió està

Autor: Antoni Salvà Salvà 2

Page 7: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

autoritzat, i, en una segona fase, el servidor verifica cada petició (operacions sobre les bases dedades) que es fa al servidor per veure si l'usuari té els privilegis per poder-los portar a terme.

En conclusió, només els usuaris i les màquines autoritzats per part del servidor MySQL podenaccedir a les bases de dades. Cal tenir en compte, però, que hi ha diferències entre la forma enque el servidor MySQL fa servir els comptes d'usuari i els comptes d'usuari de Linux o deWindows.

En Windows, l'usuari que està treballant a la màquina en la qual s'executa MySQL és d'entradael superusuari del servidor, per la qual cosa, si no es defineixen usuaris específics al servidorMySQL, qualsevol persona que accedeix a la màquina té el control absolut sobre el servidor. EnLinux, com a sistema operatiu multiusuari, encara que es treballi a la mateixa màquina ons'executa MySQL, només se té accés total al servidor per part de l'usuari root del servidorMySQL.

Un cop validats dins del servidor MySQL, tendrem accés a les bases de dades que ens hagiautoritzat l'administrador amb unes determinades capacitats d'operació sobre aquestes, que, comhem esmentat més amunt, s'anomenen "privilegis".

Hem esmentat més amunt que l'usuari "root" és l'únic, d'entrada, que té tots els privilegis. Enparticular, té la capacitat de crear nous usuaris i d'assignar privilegis a aquests usuaris.

Atorgar privilegis comporta autoritzar als usuaris la possibilitat de realitzar distintes operacionssobre objectes del servidor MySQL mitjançant l'execució de comandaments específics, ja siguides de la consola amb ordres de l'interpret de comandaments específic de bases de dadesrelacionals, SQL (structured query language), o amb una aplicació gràfica com el MySQLCC.

En funció de les distintes operacions que es poden fer al servidor MySQL, es distingeixen tresnivells distints de seguretat: l'operació del servidor MySQL (privilegis d'administració), la gestió deles bases de dades del servidor MySQL (privilegis d'estructura) i les operacions sobre bases dedades individuals (privilegis de dades).

� Privilegis d'administració: proporcionen la capacitat de concedir privilegis (GRANT), decontrol del funcionament del servidor (PROCESS, RELOAD i SHUTDOWN) i de definició deparàmetres globals (PREFERENCES). Com hem comentat, normalment aquests privilegisnomés els té el superusuari root del servidor MySQL.

� Privilegis d'estructura: permeten la creació de bases de dades i dels seus elements,particularment taules i consultes (CREATE), realització de canvis en les bases de dades(modificacions en l'estructura de taules i de la definició de consultes, creació de novestaules i consultes) (ALTER), definició i canvis en la indexació de les taules (INDEX) ieliminació (DROP).

� Privilegis de dades: autoritzen l'operació amb una base de dades específica: realitzacióde filtrats (SELECT), inserció de registres a les taules (INSERT), edició i canvis en elcontingut dels camps dels registres (UPDATE), eliminació de registres (DELETE) iimportació/exportació del contingut d'una taula o d'una vista d'una consulta a un arxiuextern (FILE).

Per altra banda, els privilegis s'atorguen als usuaris a objectes concrets del servidor. Això es faamb l'ordre de consola de MySQL GRANT (o REVOKE si es tracta de eliminar privilegis que ja estenien). Veurem més endavant una aplicació d'aquest comandament i la forma d'executar-lo en unentorn gràfic. De moment, basta conèixer que els privilegis que hem esmentat es poden adreçar aquatre nivells d'objectes del servidor distints:

Autor: Antoni Salvà Salvà 3

Page 8: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

� Nivell global. Els privilegis globals s'apliquen a totes les bases de dades que es troben aun servidor determinat. Aquests privilegis es desen al servidor a la taula de la base dedades mysql anomenada mysql.user i corresponen a l'ordre de consola d'atorgació deprivilegis GRANT ALL ON *.* (o el complementari per denegar privilegis REVOKE ALL ON*.*)

� Nivell de base de dades. Els privilegis de bases de dades s'apliquen a totes les taulesd'una base de dades específica. Aquests privilegis es desen a les taules mysql.db imysql.host. (corresponen a l'ordre de conola GRANT ALL ON db.*).

� Nivell de taules. Els privilegis de taules s'apliquen a totes les columnes d'una taula.Aquests privilegis es desen a la taula mysql.tables_priv. L'ordre de consola per al'assignació d'aquests permisos és GRANT ALL ON db.table.

� Nivell de columna. Els privilegis de columna s'apliquen a columnes individuals a unataula donada. Aquests privilegis es desen a mysql.columns_priv.

Com podem veure, les possibilitats de gestió de seguretat són molt completes i permeten l'úsdel servidor a nivells molt sofisticats.

Després d'una instal·lació estàndard, tant a Windows com a Linux, al sistema hi ha definits perdefecte els següents usuaris amb els següents privilegis:

� El superusuari root de MySQL, amb TOTS els privilegis sobre el servidor, amb l'únicalimitació que l'accés al servidor ha de realitzar-se des de l'ordinador local (localhost).D'entrada, l'accés com a superusuari es fa sense contrasenya.

� Un usuari anònim amb el nom test que té tots els privilegis sobre bases de dades ambel nom test o amb un nom que comenci per test_ . De la mateixa forma que per alsuperusuari root, les connexions al servidor s'han de realitzar des de l'ordinador locallocalhost i no té contrasenya. Això significa que qualsevol usuari local de la màquinaes pot connectar sense una contrasenya i ésser tractat com l'usuari anònim test.

Recordarem que el que segueix, tant per a Windows com per a Linux, és per a l'ús a nivell localdel servidor (és a dir, que el servidor MySQL s'executa en el mateix ordinador des del qual estamtreballant). Per una banda caldrà disposar d'un servidor MySQL en el qual definirem un usuariestàndard distint del superusuari root amb control sobre una base de dades i, per l'altra, s'hauràde configurar l'accés d'OpenOffice.org a aquesta base de dades per part d'aquest usuari. Aquestaconnexió es proposarà per ODBC al llarg d'aquest mòdul, però podeu fer servir, com a opció elconnector JDBC (tant per Windows com Linux) si seguiu les indicacions del document següenthttp://weib.caib.es/Suport/doc_tecnic/materials_pdf/gestio_bd_xarxi.pdf i feu la instal·lació alvostre ordinador personal (haureu de substituir el nom del servidor per localhost).

Nota molt important: si us heu de connectar a un servidor integrat en el dominide xarxa a un centre que forma part del Projecte Xarxipèlag, sol·licitau les dadesd'autenticació al coordinador de TIC del vostre centre i passau directament al'apartat 5, en el que es descriu el procediment per connectar OpenOffice.org auna base de dades de MySQL.

Autor: Antoni Salvà Salvà 4

Page 9: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

3 MS Windows3.1 Instal·lació

El programari que ens cal per a ordinadors que funcionin amb el sistema operatiu MS Windowsés el següent:

1. El servidor MySQL. És el motor de base de dades, que pot córrer a un ordinador local(parlarem en aquest cas de servidor local que prendrà el nom de localhost) o bé a unordinador de la xarxa al qual hi tinguin accés els usuaris (servidor remot, que tendrà unaadreça IP definida). La darrera versió per a Windows es pot descarregar dehttp://www.mysql.org

� Al CD de materials de formació trobareu la versió 4.1 (mysql-4.0.12-win.zip).Un cop descomprimit l'arxiu a una carpeta temporal, la instal·lació es porta aterme de forma automàtica en fer clic sobre l'arxiu executable setup.exe.

� Els arxius de la instal·lació es copien al directori c:\mysql.És necessari pelcorrecte funcionament del motor que aquest sigui el directori d'instal·lació. Perpoder disposar d'un accés directe que engegi/aturi el servidor, amb l'exploradord'arxius canvieu al directori c:\mysql\bin i executau l'arxiuwinmysqladmin.exe. Amb aquest comandament s'engega el servidor perprimer cop i s'instal·la una utilitat de control gràfic del servidor MySQL. A lapantalla en la qual se us demana un nom d'usuari i contrasenya per a l'accés alservidor podeu definir un segon usuari amb drets de supervisor des del'ordinador local sobre el servidor. Podeu, no obstant, ometre aquest pas si feuclic a �Cancel�. En aquest tutorial, com veureu més endavant, es treballarà ambel compte del superusuari de la base de dades de MySQL root com a únicadministrador i amb un compte d'usuari estàndard.

� Les opcions per defecte de l'administració del servidor MySQL per Windows9x/Me/NT/XP estableixen que l'arrencada del servidor i, per tant, la posta endisposició a les aplicacions de les bases de dades gestionades per aquest,s'incorpori per defecte al menú d'inici. Així, el motor MySQL s'executa en segonpla, i s'hi pot accedir per la icona en forma de semàfor de la barra d'einesinferior: . Quan la icona del semàfor està �en verd� significa que

el servidor MySQL està en execució. En fer clic sobre la icona és desplega unmenú que ens permet accedir a una finestra de gestió del servidor (�Show me�) obé tancar el servidor de base de dades (�Shut down the Server�):

Si voleu evitar que el servidor s'engegi cada cop que poseu l'ordinador enfuncionament, aneu al grup de programes de �Menú de Inicio� i moveu l'accés

Autor: Antoni Salvà Salvà 5

Page 10: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

directe de l'administració del servidor de MySQL a l'escriptori. D'aquesta

forma podreu tendreu una drecera per posar en marxa el servidor només quansigui necessari i estalviareu recursos del sistema. Si feu servir Windows 2000, lainstal·lació no s'integra al menú d'inici i haureu de crear una drecera a l'escriptori.

2. L'aplicació MySQL Control Center és un centre de control en mode gràfic d'aquestmotor de base de dades i és el lloc on crearem les bases de dades que s'allotjaran alservidor. Com el servidor MySQL, es pot descarregar, en la seva darrera versió per aWindows, de http://www.mysql.com i també el trobareu al CD de materials de formació(mysqlcc-0.8.10-win32.zip). Per a la seva instal·lació, és suficient descomprimirl'arxiu i, llavors, fer clic sobre l'arxiu executable setup.exe. En aquest tutorial faremservir les opcions que s'instal·len per defecte, als efectes d'una execució local delservidor MySQL per tal que OpenOffice.org pugui accedir a les dades.

3. Els dispositius (driver) de connexió amb MySQL per ODBC. Els podeu descarregartambé de http://www.mysql.com. El trobareu també al CD de materials de formació:arxiu myodbc-2.50.39-nt.zip per a Windows 2000/NT/XP (heu d'estar a un compted'administrador en aquest cas) i myodbc-2.50.39-win95.zip per a Windows 9x/Me).Per a la instal·lació d'aquests dispositius heu de descomprimir els arxius a una carpetatemporal i executar l'arxiu setup.exe.

3.2 Configuració bàsica del servidor MySQL per a WindowsAmb el que segueix, definirem un usuari del servidor MySQL que entrarà en mode local a la

màquina.Amb el servidor engegat (comproveu que la icona del �semàfor� estigui �en verd�), aneu alprograma MySQL Control Center (MySQL CC). S'obrirà una finestra com la següent:

A la llista �Servidores de MySQL�, trobareu el servidor instal·lat al propi ordinador(root@localhost:3306). Anem primer a crear una base de dades anomenada �prova�. Llavors,

Autor: Antoni Salvà Salvà 6

Page 11: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

crearem un usuari (antoni en aquest tutorial) per a aquesta base de dades.A la carpeta �Bases de Datos� es trobaran les base de dades que haureu definit al servidor. Feu

clic amb el botó de la dreta i, al menú emergent que apareix, seleccioneu �Nueva base de datos�.També, a la barra de botons, podeu fer clic al botó . S'obre un quadre en el que heu de donarel nom de la base de dades. Per exemple, introduïu �prova�. Feu doble clic, llavors, a la icona dela carpeta �Bases de Datos�. Es desplegarà un arbre amb les bases de dades creades al servidor:

Com hem dit més amunt, les bases de dades amb el nom �mysql� i �test� es creenautomàticament quan s'instal·la el servidor (la primera gestiona el propi servidor i la segona és lad'accés a usuaris anònims locals). Si feu clic sobre el punt de ramificació es despleguen elselements de la base de dades. Si fem clic en aquesta posició a la taula �prova�, veureu que,d'entrada, no hi ha cap taula creada. Encara que és possible fer servir el MYSQL CC per creartaules i consultes, i editar els registres de les taules, farem servir el �Navegador de dades�d'OpenOffice.org per a aquesta funció, ja que tendrem l'avantatge de poder usar l'entorn gràficsense haver d'introduir comandaments SQL.

En la iconografia del MYSQL CC , si la icona en forma de cilindre que apareix al'esquerra del nom de la base de dades és de color verd, significa que la basede dades és accessible (connectada). En canvi, quan està de color gris vol dirque la base de dades no és accessible (desconnectada). Des del MySQL CC labase de dades es pot connectar/desconnectar en fer clic a sobre amb el botó dela dreta del ratolí i seleccionar, segons el cas, �Conectar� o �Desconectar�. Aquestaopció està posada per a la gestió de bases de dades que corren en servidorsMySQL remots (és a dir, a ordinadors de la xarxa distints del local). D'aquestaforma, en sistemes en els quals hi han varis usuaris de les bases de dades, elsadministradors poden decidir si una base de dades està o no disponible per a lesaplicacions dels usuaris.

Ara anem a definir un usuari local de la base de dades prova amb MySQLCC. A la finestra deMySQLCC, feu clic amb el botó de la dreta del ratolí sobre �Administración de usuarios� i feu clic, almenú que es desplega a �Nuevo usuario�. S'obre una finestra com la següent (es tracta d'unafinestra no dimensionable):

Autor: Antoni Salvà Salvà 7

Page 12: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

1. Al quadre �Usuario� doneu un nom que identificarà l'usuari dins del servidor MySQL (perexemple antoni). A �Servidor� heu de posar localhost si accediu al servidor MySQL que estroba a l'ordinador des del qual estau treballant. A �Contrasenya�, introduïu una contrasenyad'accés per a l'usuari (teniu un compte que la contrasenya s'encripta i que apareixerà com unseguit d'arteriscos en aquest quadre).

2. A la llista de bases de dades disponibles de la columna de la dreta, seleccioneu amb unacasella de verificació la base de dades a la qual voleu donar accés l'usuari.

3. A la llista de privilegis, feu clic sobre els permisos que voleu concedir a l'usuari. Podeuassenyalar la casella �Todos los privilegios� si voleu donar accés total a l'usuari a aquesta basede dades. En haver acabat, feu clic al botó �Agregar� que es troba a la part inferior dreta.Llavors, podeu tancar la finestra d'administració d'usuaris.

Si voleu que els canvis que heu realitzat siguin efectius al servidor sensenecessitat de tornar reiniciar-lo, cal fer clic al botó �actualitzar� de la barra de

menú superior de MySQLCC:

Si, més endavant, vos trobau amb algun problema d'autenticació per accedir auna base de dades, revisau aquest darrer procediment.

3.3 Definició de l'enllaç a MySQL per a OpenOffice.org Vegem ara com realitzar la connexió d'OpenOffice.org a una base de dades que corri en

l'ordinador local (el procediment seria el mateix per a una màquina remota, a la qual tinguemaccés i de la qual sapiguem la seva IP). OpenOffice.org es connecta al servidor MySQLmitjançant un connector ODBC, el qual es pot configurar, a diferència de Linux, dins del mateixprocés de definició de la font de dades.

Autor: Antoni Salvà Salvà 8

Page 13: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

� A OpenOffice.org, obriu un document en blanc i aneu a la barra de menú �Eines/Fonts dedades...�. S'obrirà una finestra similar a la següent, en la qual apareixen, a l'esquerra, lesfonts de dades que són accessibles per a OpenOffice.org. De forma predeterminada, elprograma crea les fonts de dades �Bibliography� la qual es troba en formate de text.Anem a veure com afegir la base de dades MySQL prova que corre en l'ordinador localper a l'usuari antoni (aquest procediment és molt similar si la base de dades es troba aun ordinador remot al qual tenim accés).

� Fem clic al botó �Font de dades nova�. Ens trobarem a la fitxa �General�. A �Nom�, lidonam un nom qualsevol (és el que ens apareixerà a la llista de l'esquerra). Perexemple: �prova_antoni�.

� A �Tipus de base de dades�, cal seleccionar �MySQL�.

Deixau habilitat el botó de radi �Utilitza una font de dades MyODBC existent� i feu clic al botó

per definir l'accés a la base de dades amb el connector ODBC. S'obrirà la finestra deconfiguració d'ODBC per a Windows, amb les fonts de dades accessibles actualment desdel vostre ordinador amb aquest connector. Feu clic al botó �Organitza...�. S'obre la finestrade definició de fonts de dades amb el connector ODBC:

Autor: Antoni Salvà Salvà 9

Page 14: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

A �Orígenes de datos de usuario� es troben les fonts de dades a les quals teniu accés perODBC des del vostre ordinador. El que volem fer és afegir l'accés a la base de dadesprova que es troba al servidor MySQL. Fem clic al botó �Agregar...� i s'obre la següentfinestra, en la que cal seleccionar el controlador amb el nom MySQL.

Autor: Antoni Salvà Salvà 10

Page 15: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Si no us apareix el controlador MySQL caldrà que ho instal·leu. Els trobareu alCD de materials de formació a l'apartat de programari per al curs. Heu de ferservir els arxius següents:

� myodbc-2.50.39-nt.zip per a Win 2000, nt i XP

� myodbc-2.50.39-win95.zip per a Win 9.x.

Descomprimiu els arxius a una carpeta de l'equip i executau l'arxiu Setup.exe. Uncop instal·lat, comenceu de nou el procediment de configuració de la connexióODBC (Pàg. 6).

Autor: Antoni Salvà Salvà 11

Page 16: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Un cop seleccionat el control·lador de MySQL, s'obre el següent formulari de definició:

En aquest formulari heu d'emplenar els camps que apareixen a l'exemple (en aquest casper al'accés de l'usuari antoni a la base de dades prova en un servidor local(localhost). Les dades d'autenticació (nom d'usuari i contrasenya) són les mateixes queles que s'han definit per al servidor MySQL.

�Windows DSN name�, en aquest cas prova_antoni és un identificador personal de laconfiguració del ODBC. La resta de valors els podeu deixar per defecte. Feu clic a OK enhaver acabat.

� A la finestra de configuració d'ODBC apareix el nou origen de dades prova_antoni quetot just heu creat, associat al controlador de MySQL:

Autor: Antoni Salvà Salvà 12

Page 17: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

� Feu clic a �Aceptar�, veureu que a la finestra �Font de dades� de la fitxa MySQL de ladefinició d'una nova font de dades apareix la font prova_antoni. Feu clic a �D'acord�.

Autor: Antoni Salvà Salvà 13

Page 18: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

� En aquest punt ja hem associat la font de dades ODBC a OpenOffice.org. Poseu arales dades d'autenticació a �Nom d'usuari� (en aquest cas amb el nom d'usuari �antoni� ideixeu activada la casella de verificació �Requereix contrasenya�.

� Fem la prova si la connexió ha rutllat. En fer clic a la fitxa �Taules�, hauríem de poderveure l'estructura de taules de la base de dades prova. Abans ens apareix una finestraen la qual ens demana la contrasenya d'accés:

Introduïu la contrasenya per a l'usuari. Si tot ha anat bé, veureu, en forma d'arbre, les taulesque formen part de la base de dades (en aquest cas no n'hi ha cap ja que la base de dades ésbuida). Si vos dóna un error d'autenticació (un missatge amb el text �acess denied�, és a dir,accés denegat) tornau al MySQLCC i comproveu que la contrasenya per a l'usuari estàcorrectament introduïda. Entreu-la de nou, si veieu que el requadre de contrasenya per a l'usuariestà en blanc.

A la fitxa �Taules� podreu seleccionar quines de les taules voleu que estiguin disponibles per ales aplicacions d'OpenOffice. Òbviament no n'apareix cap perquè encara no s'han creat.

Feu �D'acord� a la fitxa �General� i s'acaba el procés de connexió de la base de dades.A partir d'aquest moment, per a totes les aplicacions d'OpenOffice tendreu sempre disponible la

base de dades prova per a l'usuari antoni: Aquest procediment no cal fer-lo cada cop quevulgueu accedir a aquesta base de dades, ja que queda definida com a font de dades per aOpenOffice.org. Sí que caldrà definir una nova font de dades si en creau una de nova o canviau

Autor: Antoni Salvà Salvà 14

Page 19: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

les dades d'autenticació. Anau a la pàgina 25 i seguiu les indicacions per realitzar l'activitat d'entrega obligada 1.

Autor: Antoni Salvà Salvà 15

Page 20: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

4 GNU/Linux4.1 Instal·lació

Linux és un sistema operatiu pensat per integrar l'ordinador a una xarxa. És per això quel'execució del servidor MySQL s'entén com a un servei que l'ordinador proporciona als ordinadorsde l'entorn de la xarxa en el qual es troba integrat. Les indicacions que segueixen seran per a unservidor MySQL instal·lat a un ordinador local, de forma que podrem entendre que treballam enuna �xarxa d'un�. Per altra banda, OpenOffice.org farà servir el connector unixODBC perconnectar-se a les bases de dades. Caldrà, per tant, tenir un servidor MySQL en funcionament alqual tinguem accés en el qual s'allotjaran les bases de dades i els seus components. Per aMandrake 9.1 el programari que caldrà serà el següent:

� El servidor MySQL (MySQL-4.0.11a-5mdk).

� Els connectors ODBC (MyODBC-3.51.06-1 i unixODBC-2.2.4-1mdk)

� El centre de control MySQL (MySQLCC), mysqlcc-0.9.2-1mdk.

Si teniu una connexió a la Internet de banda ampla i heu definit com a fontsd'instal·lació de programari una font externa (servidor ftp), podeudescarregar/instal·lar i/o actualitzar totes les peces de programari que us calguifent servir l'eina urpmi. Aquesta eina té l'avantatge que sempre instal·lareu lesdarreres versions. Consulteu el tutorial del curs �Introducció al Sistema OperatiuGNU/Linux per a Usuaris� per veure com configurar l'accés a les fonts deprogramari remotes. Les instruccions que, com a superusuari, heu d'introduir desd'una consola són les següents (si teniu el programari instal·lat urpmi el vosactualitzarà):

� Per a la instal·lació/actualització de MySQL.

urpmi mysql

� Per instal·lar/actualitzar unixODBC

urpmi unixODBC

� Per instal·lar/actualitzar MyODBC:

urpmi MyODBC

� Per instal·lar MySQLCC (MySQL Control Center):

urpmi mysqlcc

El servidor MySQL i el connector ODBC unixODBC-2.2.4-1mdk formen part de la distribucióLinux Mandrake 9.1, per la qual cosa és possible que ja es trobin instal·lats a la màquina. En totcas es poden descarregar gratuïtament de la pàgina web de MySQL (http://www.mysql.com)Trobareu també els paquets d'instal·lació rpm al CD de materials del curs. Veurem, pas a pas, elprocediment per saber si estan instal·lats i en funcionament.

Autor: Antoni Salvà Salvà 16

Page 21: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

� El connector ODBC MyODBC-3.51.06-1 l'heu instal·lar des de l'arxiu d'instal·lació MyODBC-3.51.01.i386-1.rpm , el qual trobareu al CD de materials del curs.

Perquè la instal·lació sigui completa, heu d'instal·lar abans el paquet de llibreries compartideslibmysql10-3.23.56-1.4mdk.i586 . Podeu realitzar la instal·lació des del gestor de programaride Mandrake 9.1 si definiu el directori en el qual es troba aquests dos darrers arxius com a fontd'instal·lació, o bé podeu seguir el següent procediment des de la línia de comandaments:

1. Obriu una consola, aneu al directori en el qual teniu els arxius MyODBC-3.51.01.i386-1.rpm i libmysql10-3.23.56-1.4mdk.i586 i accediu al compte delsuperusuari root:

su

2. Executau

rpm -ivh libmysql10-3.23.56-1.4mdk.i586

Un cop instal·lades les llibreries compartides, executau

rpm -ivh MyODBC-3.51.01.i386-1.rpm

La instal·lació instal·la les llibreries del dispositiu i els documents relacionats als directoris

/usr/local/lib i a /usr/share/doc/MyODBC .

� El paquet d'instal·lació de MySQLCC és el mysqlcc-0.9.2-1mdk.i586.rpm. El podeu instal·lardes del gestor de programari si el teniu definit el directori on es troba l'arxiu com a fontd'instal·lació o bé, des de la línia de comandaments i com a superusuari del sistema amb lainstrucció:

rpm -ivh mysqlcc-0.9.2-1mdk.i586.rpm

En executar mysqlcc des de la consola s'obre el programa MySQLCC. Podeu crear al vostreescriptori un llançador o accés directe per accedir-hi de forma gràfica.

A MySQL en execució a Linux, cal definir primer els usuaris de les bases dedades i els permisos d'accés i operació sobre les bases de dades del sistema.Per realitzar aquestes accions d'administració amb el MySQLCC cal que siguicom a superusuari root. Llavors, en funció dels permisos atorgats, els usuaristendran accés a les bases de dades i a les funcions per a les quals estiguinautoritzats en el servidor MySQL.

Pel treball amb la línia de comandaments de Linux, a més d'una descripció de laforma de crear una font d'instal·lació i una llançadora a l'escriptori al tutorial del�Curs de GNU/Linux per a Usuaris�, que trobareu al CD de materials de formació.

Autor: Antoni Salvà Salvà 17

Page 22: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

4.1.1 Disponibilitat del servidor MySQL a Linux

En funció de la instal·lació que s'hagi portat a terme de Linux Mandrake 9.1, que és la versióque farem servir de referència, podem o no tenir el servidor MySQL en funcionament al nostreordinador. Per comprovar si el servidor MySQL està instal·lat a l'ordinador, a una consola podemintroduir el següent comandament (recordau que es distingeixen majúscules de minúscules):

rpm -qa | grep MySQL

Si l'execució d'aquest comandament ens torna una línia en blanc, MySQL no està instal·lat al'ordinador. En aquest cas cal anar al �Centre de Control Mandrake� i a �Gestió de Programari�instal·lar MySQL.

En canvi, si l'execució d'aquest comandament us torna les línies:

MySQL-4.0.11a-5mdkMySQL-client-4.0.11a-5mdkMySQL-common-4.0.11a-5mdk

Significa que, efectivament, teniu MySQL instal·lat al sistema (aquesta sortida és per al servidorMySQL instal·lat des de la distribució Mandrake 9.1). Ara el que cal és comprovar que podeuaccedir al servidor des d'un compte d'usuari. Ja hem dit que quan s'instal·la MySQL, es crea alservidor un usuari predeterminat anomenat test. A una consola, introduïm el següentcomandament:

mysql -u test

El modificador -u test especifica que volem connectar-nos com a l'usuari test. Ens trobam totseguit amb la sortida:

Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1 to server version: 4.0.11a-gamma Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

Aquesta és la línia de comandaments del client com a usuari test MySQL. Per comprovar queel servidor accepta peticions des del client de MySQL, introduïu:

mysql> select version();

(a la consola el caràcter ; assenyala el final de l'ordre) i tendreu una resposta similar a:

Autor: Antoni Salvà Salvà 18

Page 23: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

En la que, com veieu se us mostra la versió del servidor MySQL instal·lat. Podeu sortir delmonitor de MySQL si a la línia de comandaments introduïu

mysql> exit

o bé el comandament quit. El servidor es despedirà (apareix bye) i tornareu a la línia decomandaments de la consola de Linux.

Si MySQL està instal·lat al sistema, però l'accés al compte d'usuari test des de la línia decomandaments amb el procediment anterior vos torna una resposta d'error com:

ERROR 2002: Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)

, el que passa és que el servidor no es troba en execució. Com hem esmentat més amunt, elservidor MySQL és un dels serveis que proporciona el sistema a l'usuari local o a la restad'usuaris que hi estiguin habilitats i que es pot engegar de forma automàtica amb l'arrencada del'ordinador, o bé a petició del superusuari del sistema root. Per això, aneu al �Centre de control de

Mandrake� (l'icona del quadre inferior), valideu-vos com a superusuari root i aneu a �Sistema�

i, en aquest apartat a �DrakXServices� .

S'obre una finestra amb un llistat alfabètic dels serveis disponibles del sistema. Comproveu queel servei amb el nom mysql es troba en l'estat aturat:

Podeu arrencar el servidor en la sessió actual si feu clic al botó �Inicia� i, llavors, feu al botó�D'acord�. Si voleu que el servidor estigui disponible en arrencar l'ordinador, marcau la casella �Enarrencar�. Sortiu, llavors, del �Centre de control Mandrake� i comproveu que el servidor està habilitataixí com es descriu al punt anterior.

4.2 Configuració bàsica del servidor MySQL per a Linux

El que segueix es pot realitzar, als efectes dels usuaris distints de root, amb elprograma MySQL Control Center (MySQLCC). Recordeu que, per anar alMySQLCC com a administrador, des d'una consola de Linux com a superusuaris

Autor: Antoni Salvà Salvà 19

Page 24: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

(comandament su), aneu al directori on l'heu instal·lat i executeu

./mysqlcc .

Per a l'ús de l'entorn gràfic MySQLCC vegeu a la pàgina 6 la Configuracióbàsica del servidor MySQL per a Windows),

Seguirem el següent procediment, pel qual definirem l'autenticació del superusuari del servidorMySQL root, crearem un usuari local i una base de dades privada d'aquest usuari. les passesque venen a continuació es faran amb instruccions que entrarem des de la consola de MySQL, laqual, com veurem és una eina molt versàtil i potent. Recordau que a Linux es distingeixen lesmajúscules de les minúscules.

1. Primer, proporcionarem una contrasenya a l'usuari root de MySQL. Suposem que volemestablir la contrasenya �nova_contrasenya�. Recordem que això és per evitar que qualsevolusuari local de la màquina pugui operar com a superusuari del servidor de dades. Per això,obriu una consola i introduïu el següent:

mysql -u root mysql

Amb aquesta instrucció entram com a root (-u root) i fem ús de la base de dades mysql, ones defineix la configuració del servidor. L'indicador de comandaments passa al de la consolade MySQL (mysql>). Introduïu

SET PASSWORD FOR root@localhost=PASSWORD('contrasenya_de_root');

On contrasenya_de_root és la que triau vosaltres mateixos. Per actualitzar el canvi decontrasenya, executau a la consola de MySQL la instrucció:

FLUSH PRIVILEGES;

D'aquesta forma qui vulgui accedir com a superusuari de MySQL a la màquina local hauràd'introduir la contrasenya �contrasenya_de_root�. Feu quit o exit per sortir del clientMySQL.

2. Creau ara un compte d'usuari i una base de dades privada per a l'usuari antoni. Obriu unafinestra de consola de Linux i entrau en mode de comandaments al servidor de MySQL com asuperusuari tot fent servir la contrasenya que heu definit a l'apartat anterior:

mysql -u root -p

Com que al punt anterior heu proporcionat una contrasenya per al superusuari root, l'haureud'introduir en l'ordre d'accés a MySQL com a aquest usuari (d'aquí el modificador -p). Apareixuna línia en la que us sol·licita la contrasenya i, un cop validats, vos trobareu amb la consolaper introduir comandaments de SQL amb l'indicador mysql>

3. A la consola de MySQL, com a superusuari, creau la base de dades prova. Per això inseriu lasegüent instrucció i premeu la tecla Enter.

CREATE DATABASE prova;

4. Assignau ara els privilegis d'accés a aquesta base de dades per a l'usuari antoni. De nou, a laconsola de MySQL, recordau que actuau com a superusuari, inseriu la següent instrucció:

Autor: Antoni Salvà Salvà 20

Page 25: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROPON prova.*TO antoni@localhostIDENTIFIED BY 'contrasenya_antoni';

Després de cada línia introduïu Enter. Fins que no apareixi el caràcter ; no s'executa lainstrucció de la consola mysql. Amb l'execució d'aquesta instrucció hem afegit un usuariantoni que pot accedir la base de dades prova només des de l'ordinador local amb lacontrasenya contrasenya_antoni amb els privilegis de filtrar registres (SELECT), inserir(INSERT), actualitzar (UPDATE) i esborrar (DELETE) registres, crear taules (CREATE), esborrartaules (DROP) i modificar-ne l'estructura (ALTER) per a la base dedades prova. Introduïu exitper sortir de la consola de MySQL.

En aquests moments, al servidor local teniu protegit amb contrasenya l'accés del superusuariroot de MySQL i heu creat un usuari local que ha d'accedir amb contrasenya i que comptaamb una base de dades privada.

4.3 Configuració del connector ODBC

Un cop instal·lat el programari ODBC, la configuració del connector consisteix en l'edició de dosarxius de text de configuració del connector ODBC amb l'extensió .ini per a tots els usuaris dela màquina i d'un tercer arxiu .ini per a un usuari específic. Els dos primers afecten a tots elsusuaris i han d'estar allotjats al directori /etc. mentre que el tercer estarà al directori personal del'usuari /home/nom_compte. Pel cas dels dos arxius generals, en funció de l'origen de lainstal·lació, és possible que s'hagin creat plantilles d'aquests arxius dins d'aquest directori, o bé aldirectori /usr/local/etc. En aquest cas basta, en mode de superusuari, copiar-los a /etc. Entot cas, feu servir el comandament whereis per localitzar-los dins del vostre equip. Són elssegüents:� odbcinst.ini és una llista dels dispositius ODBC instal·lats en el sistema. Sols cal definir el

dispositiu MySQL, tot assenyalant la ruta dels arxius libmyodbc3.so i libmyodbc3.so.Comprovau, tot fent ús de la instrucció whereis si aquests arxius estan instal·lats i fixeu-vos enla ruta en la qual es troben. Per exemple, si executeu a una consola:

whereis libmyodbc3.so

us mostrarà la ruta completa on es troba aquest arxiu. Haurieu de veure quelcom semblant a:

libmyodbc3: /usr/local/lib/libmyodbc3.a /usr/local/lib/libmyodbc3.la /usr/local/lib/libmyodbc3.so

En mode de superusuari root, anau al directori /etc i obriu l'arxiu odbcinst.ini amb uneditor de text

Per editar un arxiu com a superusuari, obriu una consola, valideu-vos com aroot amb el comandament su i, llavors executeu gedit nom_arxiu . S'obre unafinestra de l'editor Gedit amb el contingut de l'arxiu, però amb els privilegis delsuperusuari, de forma que podeu fer les modificacions que calguin i desar-lo (unusuari normal només el podria obrir en mode de lectura).

i a la secció de MySQL, i assegureu-vos que conté el següent:

[MySQL]Description = ODBC Driver per a MySQL

Autor: Antoni Salvà Salvà 21

Page 26: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Driver = /usr/local/lib/libmyodbc3.soSetup = /usr/local/lib/libmyodbc3_r.soFileUsage = 1CPTimeout =CPReuse =

� odbc.ini és un arxiu dins del directori /etc que defineix els enllaços que es faran servir perpart de tots els usuaris per connectar al gestor de base de dades mitjançant el dispositiuODBC. Aquest arxiu de text té una secció per a cada una de les bases de dades d'accés globala tots els usuaris. Ja hem dit que al servidor MySQL es crea un usuari per defecte anomenattest. Així, tots els usuaris del sistema Linux poden accedir a la base de dades anomenadatest del servidor MySQL des de la màquina local. Obriu, en mode superusuari root l'arxiuodbc.ini i introduïu les següents entrades:

[MySQL-test]

Description = Connector ODBC per a la base de dades test Driver = MySQL Server = localhost Database = test Port = 3306 Socket = Option = Stmt =

En aquests arxius de definició es poden afegir més opcions, com són la limitació a un o mésusuaris, l'accés a altres bases de dades disponibles per a tots els usuaris, el canvi de màquinades de la qual es fa la connexió (en substituir la localhost per la IP de l'ordinador local o pelmarge d'IPs del domini), etc. Aquestes opcions comporten un ús avançat de les einesd'administració i no les veurem al nivell d'introducció actual. Un cop creats aquest arxiu dins de lacarpeta /etc, cal que a cada una de les carpetes /home/nom_usuari de la màquina hi hagi unacòpia de l'arxiu odbc.ini amb el nom .odbc.ini (es tracta d'un arxiu ocult, com ho assenyala elpunt davant del nom). Per això, com a usuari distint de root, feu (a l'exemple, per a l'usuariantoni):

cp /etc/odbc.ini /home/antoni/.odbc.ini

Ara, l'usuari antoni pot fer servir el connector ODBC hauria de poder accedir sense dificultats ala base de dades test del servidor MySQL com a usuari de la base de dades test. Per provar-hofarem servir un petit programa des de la línia de comandaments que fa servir el connector ODBC,executau, a una consola com a usuari (en aquest cas antoni), el següent:isql MySQL-test test

Hauria d'aparèixer la següent sortida:

Autor: Antoni Salvà Salvà 22

Page 27: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Aquest resultat vos assenyala que s'ha establert la connexió per part de l'usuari de base dedades test al servidor MySQL a l'ordinador local mitjançant el connector ODBC de formacorrecta.

El cursor darrera de SQL> ens convida a introduir comandaments SQL. Aquesta gestió larealitzarem més endavant en mode gràfic, per la qual cosa aquí només introduirem elcomandament quit per tancar la connexió.

Si, en comptes de la sortida anterior, ens apareix el missatge Could not SQLConnect, calexecutar isql MySQL-test test -v . El modificador -v ens proporcionarà informació sobre si hiha algun component que no s'ha trobat o si es tracta d'un problema d'assignació de permisos.

OpenOffice.org necessitarà trobar a /usr/lib l'arxiu libodbc.so. Comprovauamb el comandament whereis libodbc.so si aquest arxiu existeix i si es trobaen aquest directori. Si us apareix amb un altre nom, per exemple libodbc.so.1,a /usr/lib no el renombreu, sinó que creau un enllaç simbòlic cap a aquestamb el següent comandament (com a superusuari root):

ln -s /usr/lib/libodbc.so.1 /usr/lib/libodbc.so

Un cop executat aquest comandament, sortiu del compte del superusuari, itornau executar whereis libodbc.so . Haurieu de veure la següent sortida:

libodbc: /usr/lib/libodbc.so

El que farà falta ara és definir l'accés de cada usuari a la seva (o seves) bases de dadesparticulars al servidor. Per això cal afegir una secció a l'arxiu .odbc.ini de /home/nom_usuari decada usuari.

5. Configurararem l'accés per ODBC al servidor MySQL per part de l'usuari antoni a la base dedades prova. que el superusuari root ha creat per a aquest usuari (pàgina 20 a l'apartat 4.2)Per això, anau al vostre directori personal i editau l'arxiu .odbc.ini. D'entrada, hauria de tenirel següent contingut:

[MySQL-test]Description = MySQL database testDriver = MySQLServer = localhostDatabase = testPort = 3306Socket =Option =

Autor: Antoni Salvà Salvà 23

Page 28: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Stmt =

el qual, com podeu veure, és el mateix que el de l'arxiu general odbc.ini que es troba aldirectori /etc i que li proporciona accés a la base de dades test (com a usuari de base de dadestest). Per tal que l'usuari antoni pugui accedir a la base de dades prova per ODBC, cal afegir lasegüent secció (feu un copiar/enganxar i afegiu les següents entrades una línia després de lasecció [MySQL-test]:

[MySQL-prova]Description = MySQL database provaDriver = MySQLServer = localhostUser = antoniPassword = antoni_contrasenyaDatabase = provaPort = 3306Socket =

La contrasenya (�Password�) és la de l'accés al servidor MySQL. Desau l'arxiu .odbc.ini.Només caldrà editar-lo per afegir una nova secció amb els valors de les entrades User, Passwordi Database cada vegada que vulguem definir un accés a una base de dades nova.

El programa MySQLCC ens permetrà la gestió del servidor MySQL, inclosa lacreació d'usuaris i de base de dades. No obstant això, l'ús de la consola deMySQL i de les instruccions SQL és una eina molt potent per crear un usuari, unabase de dades i assignar-li els privilegis d'operació al servidor des d'una màquinaamb una sola línia. Per exemple, a una aula d'informàtica amb un ordinador enxarxa habilitat com a servidor MySQL amb aquest procediment és molt ràpidcrear bases de dades de pràctiques assignades a alumnes individuals (vegeu ladocumentació específica per al servidor MySQL de les xarxes dels centres queformen part del Projecte Xarxipèlag o adreceu-vos al coordinador de TIC delvostre centre).

De nou, les instruccions per a l'ús corporatiu d'aquest programari per part delscoordinadors de TIC dels centres educatius es troba al documenthttp://weib.caib.es/Suport/doc_tecnic/materials_pdf/gestio_bd_xarxi.pdf

4.4 Definició de l'enllaç a OpenOffice.org 1.1

A OpenOffice.org, aneu a �Eines/Fonts de dades...�. A la finestra de definició de fonts de dades,feu clic a �Font de bases nova�, doneu-li un nom (al nostre exemple �MySQL prova�) i seleccioneu,a �Tipus de base de dades� �MySQL�, de la llista desplegable.

Feu, clic, llavors, a la pestanya �MySQL� i, llavors, al botó . S'obre una finestra amb elsnoms de les seccions corresponents a les bases de dades que es troben definides a .odbc.ini.Seleccioneu �MySQL-prova� de la llista i feu clic a �D'acord�.

Autor: Antoni Salvà Salvà 24

Page 29: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Poseu el vostre nom d'usuari i marqueu la casella de verificació (�Necessita contrasenya�). Percomprovar que la connexió ha rutllat, aneu a la pestanya �Taules�. Apareix una finestra en la quese us sol·licita la contrasenya i es mostra l'arbre de taules de la base de dades prova. En fer clical botó �D'acord� de la pestanya �General�, la font de dades quedarà incorporada al navegador dedades d'Openoffice.org. Aquesta definició afectarà a tot el programa, això significa que les fontsde dades que seleccioneu estaran disponibles per a tots els documents que creeu ambOpenOffice.org i que puguin intercanviar dades (documents de text per crear combinacions decorrespondència o informes impresos, documents html per crear formularis, ...).

Activitat d'entrega obligada 1

Amb els procediments adients al sistema operatiu que feu servir (MS Windowso Linux) creau al servidor MySQL una base de dades amb el nomcurs_el_vostre_llinatge, que fareu servir per a les activitats del curs.

Si heu de realitzar les activitats com a usuaris d'una xarxa, sol·licitau alcoordinador de TIC del vostre centre que vos doni d'alta com a usuaris delservidor MySQL i que vos assigni una base de dades amb els privilegis ques'expliciten a la pàgina 6.

Enviau llavors una captura de pantalla del MySQL Control Center en la qual esvegi la base de dades que s'ha creat.

Autor: Antoni Salvà Salvà 25

Page 30: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

5 Connectar OpenOffice.org a una base de dades de MySQL(Windows i Linux).

Un cop fet aquest procediment, des de qualsevol aplicació d'OpenOffice.org, en fer clic a�Edita/Intercanvi amb base de dades...�, apareixeran les fonts de dades que heu definit per alsdocuments, per exemple:

En fer clic al requadre que es troba a l'esquerra del nom de la font de dades, es desplega, a la

part inferior, el nom de les taules disponibles (per a una base de dades creada de bell nou,evidentment no hi haurà cap taula creada, veurem el procediment de creació de taules mésendavant). Si, per exemple, volem fos d'interés tenir la taula contactes per al document queestam editant, bastarà fer clic sobre el nom de la taula i, llavors, fer clic al botó �Definició�. A la partinferior de la finestra vos apareix el nom de la base de dades i de la taula que heu seleccionat peral document en la forma nom_de_la_font.nom_de_la_taula (Linux) i nom_de_la_taula(Windows).

En qualsevol document que us trobeu, tendreu una vista del contingut de la taula i dels altreselements, si hi són, de la base de dades, en afegir la marca de verificació a l'entrada del menú�Visualitza/Navegador de dades� o si feu clic a F4.

En la vista següent, tenim el contingut de la taula �contactes�. Com veurem més endavant enl'ús del navegador de dades d'OpenOffice.org, tendrem la possibilitat de d'afegir nous registres,eliminar i modificar els continguts dels camps, fer filtrats, ordenacions i cerques.

Autor: Antoni Salvà Salvà 26

Page 31: Curs de base de dades MySQL/OpenOffice.org 1.1weib.caib.es/Formacio/distancia/Material/oomysql/... · encara que establia per defecte l’accØs a taules del formate dBase (extensió

Curs de Base de Dades MySQL/OpenOffice.org 1.1. Mòdul 1

Activitat d'entrega obligada 2

Definiu la base de dades que teniu a la vostre disposició al servidor MySQLcom a font de dades. Feu una captura de pantalla de la finestra de definició�Intercanvi de Base de Dades� en la que apareixi la base de dades a MySQLcom a font de dades disponible per a OpenOffice.org.

En el missatge de correu que heu d'enviar a la tutoria per avisar-li que heutramès una activitat, feu un comentari sobre les dificultats amb què us heutrobat.

Autor: Antoni Salvà Salvà 27