Mysqldump: Access denied error when exporting MySQL table or database

When I was trying to export a MySQL table in MySQL Workbench I got an error “1045: Access denied for user ‘****’ (using password: NO) when trying to connect.

mysqldump_error

I noticed that user hadn’t “Lock Tables” privilege. In advanced options screen, you can disable lock tables for reading operations. Isn’t the most recommendable option, but is not a big perfomance penalty when you’re going to export small tables. If you have grant permissions privilege, you should grant “Lock tables” to the user.

mysqldump_error2

After disabling “lock-tables” option, you should be able to export tables.

mysqldump_error3

Share

Exportar BBDD MySQL desde XAMPP en Windows

Para exportar BBDD MySQL desde XAMPP en Windows, no tenemos necesariamente que utilizar PHPMyAdmin u otras herramientas de gestión de BBDD, podemos hacerlo de una forma mucho más rápida y eficiente. Este método es especialmente útil para exportar BBDD MySQL de gran tamaño.

Lo primero que tenemos que hacer es abrir la consola de windows (Inicio->Programas->Accesorios ->Símbolo del Sitema o Inicio->Ejecutar->cmd) Sigue leyendo

Share

Mostrar navegación lateral del sitio primario en blog Sharepoint 2013

Por defecto, la navegación de un blog en Sharepoint 2013 consta de dos bloques: Categorías y archivo mensual. En el caso de querer añadir la navegación lateral del sitio primario o reemplazar la que viene por defecto, debemos añadir este control en los ficheros aspx al elemento “PlaceHolderLeftNavBar”:

<SharePoint:SPNavigationManager id="QuickLaunchNavigationManager" runat="server" QuickLaunchControlId="V4QuickLaunchMenu" ContainedControl="QuickLaunch" EnableViewState="false">
<SharePoint:DelegateControl runat="server" ControlId="QuickLaunchDataSource"><Template_Controls>
<asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False" id="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />
</Template_Controls>
</SharePoint:DelegateControl>
<SharePoint:AspMenu id="V4QuickLaunchMenu" runat="server" EnableViewState="false" DataSourceId="QuickLaunchSiteMap" UseSimpleRendering="true" Orientation="Vertical" StaticDisplayLevels="3" AdjustForShowStartingNode="true" MaximumDynamicDisplayLevels="0" SkipLinkText="" />
</SharePoint:SPNavigationManager>
Share

Actualización manual de traducciones en WordPress

Muchas veces desarrollamos webs en local o en un servidor en el que no disponemos de acceso FTP. Desde WordPress podemos actualizar tanto el core como los plugins manualmente, pero en el caso de las traducciones, la cosa se complica, ya que por defecto no se indica qué traducciones hay disponbiles, simplemente un botón para acceder a la traducción automática (necesitamos acceso FTP). Para ver las traducciones, hay un pequeño truco muy sencillo. Consiste en abrir el fichero “/wp-admin/update-core.php” con un editor cualquiera y tras la línea 416, añadir esto:

 else { print_r ( $updates ); } 

De esta forma nos mostrará en pantalla el array con las traducciones disponibles.

Si lo queremos mostrar de forma más limpia, en vez del código anterior, podemos añadir esto:

   else { 
 print 'Descargar traducciones:<br />';
 foreach ($updates as $key => $value) {
 print '&bull; <a href="'.$value->package.'" target="_blank">'.$value->slug.'</a><br />';
 }
 }

De esta forma, veremos un listado con las traducciones disponibles y simplemente haciendo click, las descargaremos en nuestro equipo. Ahora las copiaremos al directorio “wp-content/languages/plugins” de nuestro WordPress.

NOTA: Hay que tener en cuenta que esta modificación se pierde al actualizar Worpress, ya que se reemplazan los ficheros de sistema.

Espero que os sea útil este truco.

Share

Evitar que Google indexe páginas internas de Sharepoint

Otro de los problemas al dar acceso público a Sharepoint es que se indexen páginas internas con contenido sensible. Lo más recomendable es hacer una redirección directamente desde el IIS, pero tampoco viene mal indicar a los robots de los buscadores que no indexen lo que no queremos. Para ello, creamos en el directorio raíz el fichero robots.txt con el siguiente contenido:

User-agent: *
Crawl-delay: 10
Disallow: */_layouts/
Disallow: */_catalogs/
Disallow: */Lists/
Disallow: */Forms/

Share

Restringir contenido a usuarios anónimos en Sharepoint

En un proyecto web de Sharepoint 2013, hemos necesitado habilitar la creación de nuevos elementos en listas por parte de usuarios anónimos. Ello requiere dar acceso público a los formularios de la lista. Para evitar que cualquiera vea los elementos de las listas, utilizando “SPSecurityTrimmedControl” hemos modificado las páginas del formulario envolviendo la zona de webparts con este código:

<SharePoint:SPSecurityTrimmedControl runat="server" AuthenticationRestrictions="AuthenticatedUsersOnly">

<WebPartPages:WebPartZone>[Nuestra zona de Web Parts]</WebPartPages:WebPartZone>

</SharePoint:SPSecurityTrimmedControl>
<SharePoint:SPSecurityTrimmedControl runat="server" AuthenticationRestrictions="AnonymousUsersOnly">
<div class="alert alert-danger" role="alert"><strong>ERROR: </strong>Acceso
denegado</div>
</SharePoint:SPSecurityTrimmedControl>

Este procedimiento deberíamos repetirlo en todos los “.aspx” que tengamos en el formulario, incluyendo los que correspondan a vistas personalizadas.

Forms

En nuestro caso, al tener un webpart personalizado con el formulario y no utilizar el de nuevo elemento por defecto, también hemos insertado el código en ” NewForm.aspx”.

El resultado es que los usuarios anónimos, al intentar acceder a cualquier página propia de la administración de la lista, vea el siguiente mensaje:

 denegado

El estilo del mensaje corresponde a las clases de Bootstrap. Os dejo aquí las clases CSS que utiliza.

.alert-danger {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.alert {
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
}
Share

Solicitar cambio de adaptador de corriente USB europeo de 5W de Apple

Tal y como indican en la página de Apple (abrir enlace) “el adaptador de corriente USB europeo de 5 W de Apple puede provocar sobrecalentamiento y suponer un riesgo para la seguridad“.

Por ello, ayer realicé la solicitud para el cambio del adaptador de mi iPhone 4. Lo primero que me llamó la atención es que en Pamplona no había posibilidad de hacer el cambio, por no haber tienda Apple ni proveedor de servicios autorizado que lo realice.

Así que desde la propia página de la incidencia, accedí a contactar con el servicio técnico de Apple. Allí decidí abrir un chat, para el cual me pedían el número de serie del dispositivo (fácil de encontrar en Ajustes -> General -> Información)

Tras una breve espera de aproximadamente un minuto, Maria Alejandra me atendía amablemente. Por la traza seguida en la web, ya saben que contactamos con ellos por el programa de reemplazo del adaptador de corriente. A continuación nos explican el funcionamiento del servicio. Nos hacen una retención de 19€ en la cuenta como fianza, mientras se completa el proceso. En 3 días Apple envía el nuevo adaptador y nos da 10 días para devolver el defectuoso. En el mismo paquete nos envían instrucciones para acordar la recogida del antiguo adaptador, pero ese repartidor no será el que se lo lleve.

El proceso es totalmente gratuito, ya que una vez devuelto el adaptador antiguo, reembolsan la cantidad en nuestra cuenta. A continuación nos piden dirección, teléfono y correo. Realizan el pedido y nos indican el número de reparación. En ese momento nos envían un correo con el enlace para introducir la información de pago para la retención.

Evolución del proceso:

18/6/2014 10:00:  El paquete con el nuevo adaptador fue enviado ayer con la agencia TNT desde Eindhoven y ya está en Pamplona.

18/6/2014 16:30:  El repartidor ha pasado por mi casa pero no estaba, acuerdo una nueva entrega.

19/6/2014 12:00:  El repartidor me entrega el adaptador rediseñado.

19/6/2014 16:00:  El repartidor ha pasado a recoger el adaptador defectuoso, que he metido en la bolsa acolchada en la que venía el nuevo.

23/6/2014 07:30:  El paquete ha sido recibido por Apple en buenas condiciones.

25/6/2014 18:30:  Apple ha verificado que la pieza está en perfecto estado y procede a reembolsarme la fianza.

 

Conclusiones:

Después de una semana, ya tengo mi adaptador nuevo y he recuperado la fianza. Buen servicio post-venta por parte de Apple.

 

 

Share