Instalación Apache + Mysql + Php + PhpMyAdmin en ubuntu
Paso 1 – Actualizar la lista de paquetes disponibles y sus versiones ( sudo apt-get update )
Paso 2 – Instalar Apache ( sudo apt-get install apache2 )
Servicio: /etc/init.d/apache2 status
Url: http://127.0.0.1/ ó http://localhost/
Paso 3 – Instalar MySQL ( sudo apt-get install mysql-server )
Te va pedir una contraseña para el usuario root.
Servicio: systemctl status mysql
Paso 4 – Instalar PHP ( sudo apt install -y php )
Prueba:
Crear el fichero /var/www/html/info.php Con el contenido < !--?php phpinfo();?-- > Visitar la url: http://localhost/info.php
Paso 5 – Instalar PhpMyAdmin ( sudo apt-get install phpmyadmin )
Adicionalmente, hay que añadirlo en la configuración de apache2. Para ello:
//Descomentamos el alias en el fichero apache.conf /etc/phpmyadmin/apache.conf Alias /phpmyadmin /usr/share/phpmyadmin //Incluimos la configuración del phpmyadmin en el apache2.conf echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf
A partir de la version 5.7 no se puede realizar login en phpMyAdmin con el usuario root. Por lo tanto es necesario crearte un usuario:
sudo mysql -p -u root Enter password: mysql> CREATE USER 'rpf'@'%' IDENTIFIED BY 'rpf'; Query OK, 0 rows affected (0,02 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'rpf'@'%' WITH GRANT OPTION; Query OK, 0 rows affected (0,02 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0,01 sec)
Error: “Login sin una contraseña está prohibido por la configuración (Ver AllowNoPassword)”
Este error nos lo dará al intentar logarnos si no ponemos una contraseña.
La forma de solucionarlo es:
Descomentar la propiedad AllowNoPassword en el fichero /etc/phpmyadmin/config.inc.php $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
Generar modelo entidad relación a partir de una base de datos MySQL
Para obtener automáticamente un modelo entidad relación a partir de una base de datos MySQL se puede utilizar la herramienta MySQL Workbench.
Modo de uso:
1 – Hay que descargarsela e instalarla.
2 – Nos vamos al menú superior Database y seleccionamos la opción de Reverse Engineer (Ingeniería inversa).
3 – Rellenamos los datos de conexión a la BD en la ventana que se nos abrirá.
4 – Se va siguiendo las distintas ventanas que van saliendo dando a next. Ellas nos irá pidiendo la bd de la que se quieren extraer los datos, los objetos a extraer,..
5 – Si todo va bien al final nos mostrará el modelado con las tablas pedidas.
Crear aplicación a partir de la Base de Datos con Spring Roo
Paso 1: Instalar Spring Roo
– En primer lugar necesitas tener instalado Java y Maven.
– A continuación te descargas Spring Roo de la página oficial.
– Se descomprime en un directorio y se añade al path. En windows seria añadir en el path $ROO_HOME\bin siendo $ROO_HOME el directorio donde lo has descomprimido.
– Para comprobar que se ha instalado correctamente podemos ejecutar directamente en la consola el siguiente comando.
roo quit
Si todo va bien debería mostrarnos el logo de Spring Roo.
Paso 2: Crear un proyecto de Spring Roo
Se puede crear de distintas formas:
– Con el STS se puede crear un proyecto de Spring Roo como tal.
– Con el eclipse también se podría añadiendo el plugin de Spring Roo.
– Y por último también podriamos utilizar directamente la consola para su creación.
De esta forma, los comandos para la creación de un proyecto a partir de una BD Mysql serían:
//Primero se configura la BD de la que luego se hará ingeniería inversa... jpa setup --database MYSQL --provider HIBERNATE --databaseName nombre_de_mi_esquema --hostName ip_de_mi_mysql --userName mi_usuario --password mi_contraseña
//Luego se puede comprobar si se ha realizaco la conexión bien database introspect --schema nombre_de_mi_esquema
// si te dice que no encuentra el driver puedes instalarlo así addon search mysql //te deberia salir una lista con los drivers que puedes instalar para a continuación addon install id --searchResultId xx //xx sería el codigo del driver mostrado en el listado que saca el anterior comando...
//En mi caso me dió problemas y el de mysql no me lo instaló bien así que lo instale a mano. //Para ello me lo descargue y lo instalé con el siguiente comando: osgi start --url file:///C:\\mysql-connector-java-5.1.18.jar
//Ahora ya se puede crear las entidades a partir de la BD. database reverse engineer --schema nombre_de_mi_esquema --package ~.domain --includeTables "tab_*"
Por último sería añadir el resto del negocio y la presentación. Para ello pongo dos ejemplos: MVC y JSF.
//Usando Spring MVC web mvc setup web mvc all --package ~.web
Usando JSF web jsf setup --implementation --library --theme web jsf all --package ~.web
Como nota decir que se lía algo con las tablas con clave primaria múltiple (hay que quitar unos errores que salen en los ficheros *.aj que crea).
Puedes probar a ejecutar el proyecto simplemente con la instrucción de manve
mvn clean install jetty:run
Documentación:
Ejemplo de creación de un proyecto con STS. Ver
Ejemplo de creación de un proyecto con el plugin de eclipse para Spring Roo. Ver
Error 1130 (HY000): Host » is not allowed to connect to this MySQL server
Cuando al intentar conectar a un MySQL desde otro servidor te puede dar este error. Esto es debido a que no tiener permisos para acceder con el usuario que estas intentándolo desde tu host.
- - Error 1130 (HY000): Host '' is not allowed to connect to this MySQL server -
Por ejemplo si el usuario que estas usando es root, puedes comprobar desde que sitios se puede acceder utilizando esta select:
SELECT host FROM mysql.user WHERE User = 'root';
Si esa query no devuelve ningún resultado con tu ip, deberás añadirla. Para ello:
CREATE USER 'root'@'tu_ip' IDENTIFIED BY 'contraseña'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'tu_ip'; FLUSH PRIVILEGES;
Nota: si deseas dar permisos a todas las ips, en lugar de ‘tu_ip’ puedes poner ‘%’.
Squirrel SQL Client
Squirrel SQL Client se trata de una aplicación java multiplataforma. Presenta un entorno muy intuitivo a través del cuál podemos configurar conexiones a distintas bases de datos.
Permite la realización de multiples conexiones simultaneas a distintas bases de datos y la realizacion de consultas sobre las mismas. Proporciona la opción de autocompletado de campos pulsando Ctrl+espacio. También permite exportar los datos a inserts, excel, csv…
Instalación:
1. Descargar SQuirreL. Es necerario tener instalado y configurado correctamente el JDK 1.6 o superior.
2. Abrir una consola de comandos (Inicio > Ejecutar > cmd)
3. Ir al directorio donde se descargó SQuirreL
4. Ejecutar el siguiente comando:
java -jar squirrel-sql-3.3.0-install.jar
5. Seguir los pasos de la instalación y en la opción de selección de paquetes a instalar, seleccionar:
DBCopy, DBDiff, MySQL, Oracle, PostgreSQL, Smart Tools, SQL Parametrisation, SQL Replace, SQL Validator, Internationalization, Spanish
Agregar driver para conectar a una Base de datos
1. Descargar el driver JDBC para la base de datos que se desea conectar.
2. Copiar el driver descargado al directorio lib del directorio de instalación de SQuirreL %squirrel_home%\lib.
3. Iniciar SQuirreL
Dirección oficial
Configurar Squirrel para MySQL
Configurar Squirrel para Oracle
Tipos de generadores de identificadores en hibernate
En hibernate podemos utilizar el elemento generator para generar identificadores únicos para instancias de la clase persistente. De requerirse algún parámetro para configurar o inicializar la instancia del generador, se pasa utilizando el elemento .
Todos los generadores implementan la interfaz org.hibernate.id.IdentifierGenerator. Algunas aplicaciones pueden decidir brindar sus propias implementaciones especializadas. Sin embargo, Hibernate provee un rango de implementaciones ya incorporadas. Los nombres de atajo para los generadores incorporados son los siguientes:
increment: genera indentificadores de tipo long, short o int que sólamente son únicos cuando ningún otro proceso está insertando datos en la misma tabla. No lo utilice en un clúster.
identity: soporta columnas de identidad en DB2, MySQL, MS SQL Server, Sybase y HypersonicSQL. El identificador devuelto es de tipo long, short o int.
sequence: usa una secuencia en DB2, PostgreSQL, Oracle, SAP DB, McKoi o un generador en Interbase. El identificador devuelto es de tipo long, short o int.
hilo: utiliza un algoritmo alto/bajo para generar eficientemente identificadores de tipo long, short o int, dada una tabla y columna como fuente de valores altos (por defecto hibernate_unique_key y next_hi respectivamente). El algoritmo alto/bajo genera identificadores que son únicos sólamente para una base de datos particular.
seqhilo: utiliza un algoritmo alto/bajo para generar eficientemente identificadores de tipo long, short o int, dada una secuencia de base de datos.
uuid: utiliza un algoritmo UUID de 128 bits para generar identificadores de tipo cadena, únicos dentro de una red (se utiliza la direccón IP). El UUID se codifica como una cadena hexadecimal de 32 dígitos de largo.
guid: utiliza una cadena GUID generada por base de datos en MS SQL Server y MySQL.
native: selecciona identity, sequence o hilo dependiendo de las capacidades de la base de datos subyacente.
assigned: deja a la aplicación asignar un identificador al objeto antes de que se llame a save(). Esta es la estrategia por defecto si no se especifica un elemento < generator>.
select: recupera una clave principal asignada por un disparador de base de datos seleccionando la fila por alguna clave única y recuperando el valor de la clave principal.
foreign: utiliza el identificador de otro objeto asociado. Generalmente se usa en conjunto cón a una asociación de clave principal < one-to-one>.
sequence-identity: una estrategia de generación de secuencias especilizadas que utiliza una secuencia de base de datos para el valor real de la generación, pero combina esto junto con JDBC3 getGeneratedKeys para devolver el valor del identificador generado como parte de la ejecución de la declaración de inserción. Esta estrategia está soportada sólamente en los controladores 10g de Oracle destinados para JDK1.4. Los comentarios en estas declaraciones de inserción están desactivados debido a un error en los controladores de Oracle.
Ejemplo 1:
Si tenemos una clave primaria «idAplicacion» en MySQL con la propiedad auto_increment, se mapearia así:
//Mapeo usando anotaciones @Id @GeneratedValue private Integer idAplicacion; //Mapeo en fichero hbm < id name="idAplicacion" type="int" unsaved-value="0"> < column name="idAplicacion" precision="5" scale="0"/> < generator class="identity"/> < /id>
Ejemplo 2:
Si tenemos una clave primaria «idAplicacion» en una BD oracle y queremos asignarle una secuencia llamada SEQ_ID_APLICACION, se mapearía así:
//Mapeo usando anotaciones @Id @SequenceGenerator(name="seq", sequenceName="SEQ_ID_APLICACION") @GeneratedValue(strategy=GenerationType.AUTO, generator="seq") private Integer idAplicacion; //Mapeo en fichero hbmSEQ_ID_APLICACION
Crear una base de datos y un usuario en MySQL.
Si por ejemplo quisiéramos crear un DATABASE para gestionar las distintas tablas de una gestión de trabajadores podríamos utilizar:
CREATE DATABASE TRABAJADORES;
Una vez creada podemos asociarle un usuario ‘user001’ que tengo provilegios totales sobre él y de contraseña también ‘user001’.
GRANT ALL PRIVILEGES ON TRABAJADORES.* TO 'user001'@'%' IDENTIFIED BY 'user001';
Para que podamos conectarnos a ella desde cualquier equipo se pone ‘user001’@’%’. Si por ejemplo solo se quisiera poder utilizar desde local se pondría ‘user001’@’localhost’
Fuente con mucha más información:
Sintaxis CREATE DATABASE
Añadir cuentas de usuario
Instalar MySQL 5.6 en Red Hat/Oracle Enterprise Linux
1/ En primer lugar descargarse de la página oficial los paquetes: Shared Components, Client y Server. En este caso he utilizado la version de 64 bits:
MySQL-shared-compat-5.6.16-1.el6.x86_64.rpm MySQL-client-5.6.16-1.el6.x86_64.rpm MySQL-server-5.6.16-1.el6.x86_64.rpm
2/ Antes de comenzar la instalación hay que revisar si ya tenemos instalados los paquetes mysql-libs y mysql-server. En caso de que estén, debemos eliminarlos ya que sino no nos dejará realizar la instalación correctamente.
//Comprobación de existencia de esos paquetes yum list mysql-libs yum list mysql-server //Eliminación si existiesen yum remove mysql-server yum remove mysql-libs
3/ También debemos instalar la librería Libao, necesaria para el funcionamiento del servidos, si no la tenemos instalada.
yum install libaio
4/ Ahora ya podemos proceder a instalar el servidor MySQL. Ejecutando:
rpm -ivh MySQL-server-5.6.16-1.el6.x86_64.rpm
Si todo ha ido correctamente cuando termine podemos encontrar nuesto fichero de configuración en /usr/my.cnf y el password de root por defecto puede encontrarse en el archivo /root/.mysql_secret.
5/ Se instalan los paquetes restantes.
rpm -ivh MySQL-shared-compat-5.6.16-1.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.16-1.el6.x86_64.rpm
6/ Ya podemos iniciar el servicio con: service mysql start
Para loguearnos: mysql -uroot -p (utilizamos la password que hay en /root/.mysql_secret)
A continuación, podemos cambiar la password:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MYPASSWORDSECRETO');
Categorias
- adobe (2)
- agile (1)
- Alfresco (1)
- Android (26)
- Angular (6)
- angularjs (10)
- apache (1)
- axis (2)
- Bases de datos (14)
- Bootstrap (1)
- C# (3)
- Cámara (1)
- chrome (3)
- Codeigniter (2)
- Control de Versiones (2)
- CSS (25)
- CVS (1)
- Django (9)
- Django Rest Framework (1)
- DNS (1)
- Docker (3)
- dominio (1)
- eclipse (5)
- Entity Framework (2)
- ETL (1)
- Firefox (6)
- flash (1)
- freecad (1)
- Git (12)
- GitHub (4)
- gpg (2)
- Groovy (1)
- Handlebars (1)
- hibernate (4)
- hosting (1)
- HTML (50)
- HTML 5 (26)
- Impresión 3D (9)
- Inkscape (1)
- IOS (2)
- ireports (3)
- Java (44)
- Javascript (55)
- JBoss (5)
- JPA (2)
- JQuery (20)
- Json (7)
- JSP (6)
- Keycloak (1)
- Lamp (1)
- LDAP (2)
- lean (1)
- linkedin (1)
- LINQ (1)
- linux (13)
- Livecycle (1)
- log (1)
- microcontroladores (1)
- MongoDB (4)
- MySQL (8)
- Node.js (5)
- OC4J (1)
- Openshift (2)
- Oracle (6)
- Patrones de Diseño (1)
- Photoshop (2)
- php (20)
- PostgreSQL (1)
- python (19)
- rabbitmq (1)
- Raspberry PI (13)
- Raspherry PI (5)
- React (6)
- seguridad (3)
- Selenium (3)
- Sencha Touch (1)
- Sin categoría (29)
- Spring (17)
- spring-boot (3)
- SQL (7)
- SQLServer (1)
- SSO (1)
- struts (2)
- SVN (1)
- Talend (1)
- Tomcat (6)
- unity (3)
- Visual Studio Code (2)
- vmware (5)
- Web Services (11)
- windows (18)
- wordpress (10)
- Xiaomi (1)
- xml (2)
Trabajos Realizados
- App Android – Autoka Fr
- App Android – Cartelera Cántabra
- App Android – Gramática y Vocabulario Ingles
- App Android – Hoja de Gastos
- App Android – Hotel Torre Cristina
- App Android – OcioEnjoy
- App Android – Visor CardBoard
- App Firefox – Managapp
- DiamanteBomba – DisasterCode
- Generador de Partes de Trabajo
- GitHub – Android Web Generator
- GitHub – Dynamic Angular Gallery
- GitHub – Dynamic React Gallery
- GitHub – Sotilizator
- GitHub – SpringAngularJS
- GitHub – Swiper Dynamic Angular Gallery
- HazParejas – DisasterCode
- RompeCabezas – DisasterCode
- Unity Game – English Couple
- Unity Game – Kill Wasp
- WordPress – El Buen Apicultor
- WordPress – El Cajón de los Retales
- WordPress – El Vestidito Azul
- WordPress – Feuchas
- WordPress – Fragua de Navajas Ponce
- WordPress – Humor a las Tres
- WordPress – Photo Places