Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

jueves, 21 de enero de 2010

Aumentando el número de conexiones máximas de Mysql

Si necesitamos aumentar el número de conexiones máximas que permite mysql podemos realizarlo desde mysql administrator.




En esta aplicación y una vez conectados a nuestro servidor mysql nos vamos al apartado "Startup Variables". En este apartamos estamos editando los valores que van a tomar las variables cuando iniciemos el servidor.

Asi en la pestaña "Advanced Networking" podemos activar la variable "Max Connections" y ponerle un valor mas alto que el que viene por defecto.

Otras variables interesantes para aumentar el desempeño de nuestro servidor son "Wait timeout" que habría que configurarlo a la baja y "Thread Cache Size" que habría que aumentarlo.

Tras modificarlas solo nos resta reiniciar el servidor mysql para aplicar los cambios.

lunes, 7 de septiembre de 2009

Error con php_mysql.dll al arrancar el servicio de apache bajo windows

Tras realizar una instalación limpia de un servidor wamp (windows+apache+php+mysql) el servicio httpd me mostraba el siguiente error tras cada reinicio de windows:

Aplicación con errores: httpd.exe, versión: 2.2.13.0, módulo con error: php_mysql.dll, versión 5.3.0.0, dirección de error 0x00002072.

Esto es debido a que en el PATH tenemos diferentes versiones de php_mysql.dll o de libmySQL.dll. Para solucionar esto lo primero es asegurarnos que no tenemos copias de estos archivos por diferentes directorios que tengamos en el path (por ejemplo en el directorio c:/php y tambien en c:/windows/system32).
Tras ello tenemos que poner el directorio que tiene la dll buena al principio del path, de manera que cargará primero esta. En mi caso bastó con poner c:/php al principio del path y el problema con la dll se solucionó.

Combinando estas dos soluciones el problema debería desaparecer.

miércoles, 30 de enero de 2008

Using the Ruby MySQL Module

Manual para utilizar Ruby como lenguaje de scripting contra mysql.

Using the Ruby MySQL Module

La Biblia de MySQL | Free eBooks Download!

Desde aquí podemos descargar el libro "La biblia de MySql" que pueder servirnos muy bien a todos los que necesitamos consultar características avanzadas sobre esta base de datos.


La Biblia de MySQL | Free eBooks Download!

sábado, 5 de enero de 2008

Instalación de Ruby On Rails en Windows de forma sencilla basandonos en XAMPP

Voy a realizar la instalación de la plataforma de programación y desarrollo rápido de aplicaciones web Ruby On Rails (ROR).
Para ello parto de un equipo con Windows XP SP2 que no tiene de antemano ningún tipo de software de desarrollo (ni apache, ni mysql, ni nada de nada) y estoy utilizando una cuenta de administrador.
Como también quiero poder desarrollar en PHP voy a utilizar el paquete XAMPP que contiene Apache, PHP, MySQL, etc...

Tenemos que descargar el siguiente software:
Paso 1:
Instalación de XAMPP. Como he instalado todos los servidores como servicio voy a pararlos para continuar la instalación, esto lo podemos hacer muy facilmente desde el XAMPP Control Panel.

Paso 2:
Instalación de Ruby One-Click Installer.

Paso 3:
Instalación de Rails. Asegurarse de tener los servicios apache y mysql detenidos y la conexión a internet activada. En una linea de comandos tecleamos:

gem install rails --include-dependencies

Esperamos pues tarda bastante en descargar e instalar los paquetes. Tras ello tecleamos:

gem install mysql

Tras ello nos da a elegir una serie de versiones, seleccionaremos la más nueva.

Ahora podemos comprobar la instalación con estos comandos:
ruby --version
gem --version
rails --version

También podemos probar el correcto funcionamiento de rails creando una primera aplicación:
rails primer_proyecto
cd primer_proyecto
ruby script/server

Ahora se ha lanzado el servidor webrick que viene por defecto con ruby, por lo que podemos entrar a esta aplicación en http://localhost:3000

Si todo esto funciona ya tenemos Ruby on Rails instalado.

lunes, 10 de septiembre de 2007

CONFIGURACIÓN DE DATASOURCE PARA TOMCAT 5.5 Y MYSQL 5.0.22

CONFIGURACIÓN DE DATASOURCE PARA TOMCAT 5.5 Y MYSQL 5.0.22


Paso 1 - Copiamos nuestro driver JDBC para mysql de extensión *.jar a la ruta $CATALINA_HOME/common/lib del tomcat en mi caso

el fichero es mysql-connector-java-5.0.5-bin.jar. Reiniciar tomcat.

Paso 2 - Si aun no lo hemos hecho, hay que crear en mysql un usuario con contraseña (sino tiene contraseña la conexión va a

fallar), una base de datos y un tabla con datos a la que acceder.

Paso 3- Configurar el web.xml de nuestra aplicación web.

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

Paso 3- Añadir nuestro código de conexión a la aplicación:

//Con DataSource
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
con = ds.getConnection();

DriverManager.setLogWriter(new PrintWriter(System.out, true));

if ( ds == null ) {
throw new Exception("Data source no encontrado!");
}

Paso 4 - Tras realizar el desplegado de la aplicación en tomcat nos vamos a la aplicación de administración de tomcat. Una vez autenticados nos vamos a la siguiente ruta del arbol:

Tomcat Server->Servicio Catalina->Host(Localhost)->Context(/nombreDeLaAplicacion)->Recursos->Fuentes de datos.

En esta ruta nos tiene que aparecer el nombre de nuestro datasource pues lo hemos puesto en el web.xml. Sin embargo no esta configurado (todos los campos menos el nombre estan vacios). Lo configuramos con los siguientes parametros.

<resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxactive="100" maxidle="30" maxwait="10000" username="javauser" password="javadude" driverclassname="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>

Paso 5- Tras ello entramos en nuestra aplicación y la conexión con la bd tiene que realizarse correctamente.

martes, 19 de junio de 2007

Problema al restaurar un backup en mysql relacionado con las claves ajenas

Al restaurar un backup en mysql tenemos que las tablas se crean y se intentan crear también las relaciones. Así que nos da problemas por que para crear bien las relaciones estas han de crearse de forma ordenada (cuando utilizamos tablas InnoDb), cosa que el script generado por mysqldump no hace.

Para solucionar esto tenemos que desactivar la comprobación de las claves ajenas:
SET FOREIGN_KEY_CHECKS=0;

Y despues de restaurar la base de datos con éxito lo volvemos a activar:
SET FOREIGN_KEY_CHECKS=1;

Pero estas instrucciones hemos de realizarlas desde la linea de comandos de mysql.

Veamos un ejemplo de restauración de base de datos (suponiendo que ya tenemo la base de datos creada):

mysql> use nombre_bd
Database changed
mysql> set foreign_key_checks=0;
Query OK, 0 rows affected (0.00 sec)
mysql> source script_con_el_backup_de_la_bd.sql
(esto tardará un rato dependiendo del tamaño de la base de datos)
mysql> SET FOREIGN_KEY_CHECKS = 1;
Query OK, 0 rows affected (0.00 sec)

Y despues de esto ya tenemo la base de datos restaurada y activada la comprobación de las claves ajenas.

http://dev.mysql.com/doc/refman/5.0/es/innodb-foreign-key-constraints.html

jueves, 15 de marzo de 2007

Problema en el arranque de mysql

Problema en el arranque de mysql tras instalarlo via yum en Fedora Core 6:

[root@portatil init.d]# mysqld start
bash: mysqld: command not found
[root@portatil init.d]# ./mysqld start
Iniciando base de datos MySQL: Neither host 'portatil' nor 'localhost' could be looked up with
/usr/bin/resolveip
Please configure the 'hostname' command to return a correct hostname.
If you want to solve this at a later stage, restart this script with
the --force option
[FALLÓ]

Para solucionar este problema y conseguir que mysql arranque sin problema debemos editar el fichero
/etc/hosts
este fichero debe quedar tal que así:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 portatil localhost.localdomain localhost


Tras esto ya se puede arrancar mysql normalmente.


martes, 13 de marzo de 2007

Utilización de contraseñas en formato antiguo en mysql

Client does not support authentication protocol

MySQL 5.0 uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older (pre-4.1) clients. If you upgrade the server from 4.0, attempts to connect to it with an older client may fail with the following message:

shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client

To solve this problem, you should use one of the following approaches:

  • Upgrade all client programs to use a 4.1.1 or newer client library.

  • When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.

  • Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:

    mysql> SET PASSWORD FOR
    -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

    Alternatively, use UPDATE and FLUSH PRIVILEGES:

    mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
    mysql> FLUSH PRIVILEGES;

    Substitute the password you want to use for “newpwd” in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one.

  • Tell the server to use the older password hashing algorithm:

    1. Start mysqld with the --old-passwords option.

    2. Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query:

      mysql> SELECT Host, User, Password FROM mysql.user
      -> WHERE LENGTH(Password) > 16;

      For each account record displayed by the query, use the Host and User values and assign a password using the OLD_PASSWORD() function and either SET PASSWORD or UPDATE, as described earlier.

Note: In older versions of PHP, the mysql extension does not support the authentication protocol in MySQL 4.1.1 and higher. This is true regardless of the PHP version being used. If you wish to use the mysql extension with MySQL 4.1 or newer, you may need to follow one of the options discussed above for configuring MySQL to work with old clients. The mysqli extension (stands for "MySQL, Improved"; added in PHP 5) is compatible with the improved password hashing employed in MySQL 4.1 and higher, and no special configuration of MySQL need be done to use this MySQL client library. For more information about the mysqli extension, see http://php.net/mysqli.

It may also be possible to compile the older mysql extension against the new MySQL client library. This is beyond the scope of this Manual; consult the PHP documentation for more information. You also be able to obtain assistance with these issues in our MySQL with PHP forum.

For additional background on password hashing and authentication, see Section 5.8.9, “Password Hashing as of MySQL 4.1”.

http://dev.mysql.com/doc/refman/5.0/en/old-client.html