如何重置MySQL / MariaDB根密码,导入和导出数据库

2020年12月31日19:35:51 发表评论 50 次浏览

介绍

了解基本的MySQL / MariaDB灾难恢复和准备工作:如何重设MySQL / MariaDB根密码, 如何从导出的MySQL转储文件导入数据库以及如何将数据库导出到MySQL转储文件进行备份。

要求

  • 运行Linux的云服务器
  • MySQL或MariaDB已安装并正在运行

重置MySQL / MariaDB根密码

如果你丢失了MySQL / MariaDB的密码根用户, 你可以通过以安全模式重新启动MySQL / MariaDB来重置它(不需要密码)。

首先, 使用以下命令关闭数据库:

  • Ubuntu / Debian:MySQLsudo服务mysql停止
  • Ubuntu / Debian:MariaDBsudo服务mariadb停止
  • CentOS / Red Hat:MySQLsudo systemctl停止mysql
  • CentOS / Red Hat:MariaDBsudo systemctl停止mariadb

使用以下命令以安全模式启动MySQL / MariaDB:

mysqld_safe --skip-grant-tables &

现在, 你无需输入密码即可以root用户身份登录MySQL / MariaDB:

mysql -u root mysql

使用以下命令重置MySQL / MariaDB密码。更改我的新密码输入安全密码。

UPDATE user SET password=PASSWORD("my-new-password") WHERE user='root';

重新加载特权表:

FLUSH PRIVILEGES;

退出MySQL / MariaDB客户端:

quit;

关闭MySQL / MariaDB:

mysqladmin -u root -p shutdown

你将需要输入密码根你在上一步中设置的。

最后, 以正常模式重新启动数据库:

  • Ubuntu / Debian:MySQLsudo服务mysql启动
  • Ubuntu / Debian:MariaDBsudo服务mariadb启动
  • CentOS / Red Hat:MySQLsudo systemctl启动mysql
  • CentOS / Red Hat:MariaDBsudo systemctl启动mariadb

导出MySQL / MariaDB数据库

将数据库导出到.sql文件是将数据库迁移到新服务器的便捷方法。这也是创建数据库备份副本的快速简便的方法。

导出MySQL / MariaDB数据库的命令是:

mysqldump -u [username] -p [database name] > .sql

例如, 以根并导出数据库my_db到一个名为my_db-10-01-2016.sql命令是:

mysqldump -u root -p my_db > my_db-10-01-2016.sql

导入MySQL / MariaDB数据库

为了导入MySQL / MariaDB数据库文件, 你首先需要创建一个空数据库。使用以下命令登录到MySQL / MariaDB客户端:

mysql -u root -p

输入MySQL / MariaDB根用户的密码, 然后创建数据库:

CREATE DATABASE [database name];

例如, 创建一个名为my_db命令是:

CREATE DATABASE my_new_db;

完成此操作后, 注销客户端:

quit;

现在, 你可以使用以下命令导入数据库文件:

mysql -u [username] -p [new database name] < [.sql dump file name]

例如, 导入.sql转储文件名为my_db-10-01-2016.sql进入my_new_db数据库, 命令是:

mysql -u root -p my_new_db < my_db-10-01-2016.sql
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: