40 votos

¿Cómo puedo copiar MySQL tabla de usuarios de un servidor a otro?

Estoy de poner en marcha un nuevo servidor de MySQL y me gustaría darle el mismo conjunto de nombres de usuarios, hosts permitidos, y las contraseñas de un servidor existente (que se va).

Es trabajar para hacer un volcado de la tabla de usuarios y, a continuación, cargarlo en el nuevo servidor?

Hay una manera mejor que eso?

32voto

Dave Cheney Puntos 13302
oldserver$ mysqldump mysql > mysql.sql
newserver$ mysql mysql < mysql.sql
newserver$ mysql 'flush privileges;'

Debe hacerlo, recuerde agregar -u $USER y -p$PASSWORD como se requiere

22voto

Aaron Bush Puntos 169

Me gustaría echar un vistazo a la Percona kit de herramientas. La descripción de la pt-show-grants herramienta lo dice todo...

pt-show-grants extractos, órdenes, y a continuación, imprime subvenciones para el usuario de MySQL cuentas.

¿Por qué quieres esto? Hay varias razones.

La primera es la de replicar fácilmente a los usuarios de un servidor a otro; puede simplemente extracto de las subvenciones de la primer servidor y el resultado de la canalización directamente en otro servidor.

El segundo uso es el lugar de sus subvenciones en la versión de control de....

13voto

ashwnacharya Puntos 3144

Mientras que un volcado de la mysql de la base de datos sería probablemente el trabajo, en mi experiencia, la adecuada catalogación de todo el acceso y configurarlo de nuevo con GRANT declaraciones es mucho mejor. Hay dos beneficios a hacerlo de esta manera:

  1. Usted va a entender la base de datos de la seguridad y cómo se implementa.
  2. Se llega a quitar el acceso que ya no es necesario.

10voto

Bruno Bronosky Puntos 2469

Esto ya ha sido resuelto aquí http://serverfault.com/questions/8860/how-can-i-export-the-privileges-from-mysql-and-then-import-to-a-new-server/13050#13050

5voto

cole Puntos 341

mysqldump funcionará, pero desde la base de datos mysql utiliza el ISAM, usted puede simplemente copiar el directorio para el nuevo servidor. Usted encontrará esto en diferentes lugares, pero el lugar más común para la base de datos mysql será /var/lib/mysql/mysql. Asegúrese de parar mysql en el servidor nuevo, mueva el directorio anterior de la forma, copie el directorio y reiniciar. Un ejemplo del uso de ubicaciones estándar como root:

# /etc/init.d/mysqld stop
# cd /var/lib/mysql
# mv mysql ../mysql.backup
# rsync -a root@oldserver:/var/lib/mysql/mysql .
# /etc/init.d/mysql start

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: