共计 3116 个字符,预计需要花费 8 分钟才能阅读完成。
这篇文章主要讲解了“Linux 系统中 Mysql 的安装备份与密码恢复方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Linux 系统中 Mysql 的安装备份与密码恢复方法”吧!
Mysql 的安装
Redhat 9 的第 2 张光盘提供了 Mysql 的 RPM 包,安装非常方便。这 RPM 包有:mysql-3.23.54a-11.i386.rpm
mysql-server-3.23.54a-11.i386.rpm
mysql-devel-3.23.54a-11.i386.rpm
在安装时,可以使用该光盘进行安装,也可以从网上最新的 RPM 包,然后再进行安装。
以下以 RPM 包的安装为例介绍 Mysql 的安装过程,若用户在安装 RedHat 时已经安装了 Mysql,则可以跳过下面的安装步骤。
我们可以用 rpm –qa grep mysql 命令来探测系统是否安装了 Mysql。
若系统没有安装,则将第 2 张光盘中的
perl-CGI-2.81-88.i386.rpm
perl-DBI-1.32-5.i386.rpm
perl-DBD-Mysql-2.1021-3.i386.rpm
mysql-3.23.54a-11.i386.rpm
mysql-server-3.23.54a-11.i386.rpm
为什么要安装 Perl 的 rpm 包呢?这是因为在 RedHat 中,Mysql 需要 Perl 语言的支持才能正常运行,因此在安装 mysql 前需要先安装 Perl 语言及其相关包。
我们按照下面的安装顺序来安装上述的 5 个 rpm 包。
#rpm –ivh perl-CGI-2.81-88.i386.rpm
#rpm –ivh perl-DBI-1.32-5.i386.rpm
#rpm –ivh mysql-3.23.54a-11.i386.rpm perl-DBD-Mysql-2.1021-3.i386.rpm
#rpm –ivh mysql-server-3.23.54a-11.i386.rpm
现在 mysql 已经安装完毕,我们可以用命令来启动 Mysql 并检验其是否被启动。
我们可以用三种方法来启动 Mysql:
方法一:使用 service 命令来启动 Mysql
#service mysql start
方法二:使用 mysqld 脚本来启动 Mysql:
#/etc/init.d/mys qld start
方法三:使用 safe_mysqld 实用程序启动 Mysql 服务,此方法可以使用相关参数
#safe_mysqld // 使用 表示将 safe_mysqld 放在后台执行。
这里我们使用方法二来启动 Mysql
我们可以使用命令 service mysqld status 来检测 mysql 是否已经启动,如图四所示,其中返回信息“pid 3295”中的“3295”是 mysqld 运行的进程号,这个进程号不是固定不变的,而是根据不同系统运行的进程数量而各不相同。
Mysql 已经安装并启动,我们可以用 Mysql 里的命令来操作我们的 Mysql 数据库。
我们可以用 mysql –u root –p 来访问数据库,系统会提示让我们输入密码,当 mysql 安装时,默认 root 帐户的密码为空,所以我们直接敲“enter”就可以进入到我们数据库内部。我们还可以用 show databases; 命令来查看系统中现存的数据库。见图五,我们可以看到系统中默认自带了 mysql 和 test 这两个数据库。
我们如果想改变 mysql 的密码,可以用 mysqladmin 命令,命令格式为
mysqladmin -u root -p password 密码,这里的“密码”为我们欲新设的密码。如下图所示,这里我们将 root 的密码设置为“public”,系统会提示我们输入旧密码(若是 mysql 刚安装,则默认密码为空)。
Mysql 的命令还有很多,这里我们不可能一一介绍,感兴趣的读者可以参考 Mysql 的命令手册。
Mysql 的备份
我们的数据库需要经常备份,Mysql 数据库的常用备份方法是使用使用实用程序 mysqldump, 其命令格式如下:
# mysqldump [options] database [tables]
其参数的含义为:
options:代表 mysqldump 的选项,通过 mysqldump –help 可以查到。
database: 代表将要备份的数据库
tables: 代表将要备份的表,如果不指定任何表,则备份整个数据库。
我们使用 mysqldump 备份了 mysql 自带的 mysql 库,并且用
ll 命令来查看备份文件。
我们再来看看备份后的恢复,如图九,图十所示,我们新创建一个数据库 bak,然后把我们刚才备份的 mysql.bak 文件导入到这个数据库。
Mysql 的密码恢复
Mysql 隔一段时间不访问,也许你会忘记访问密码,这时该怎么办,重装 mysql 吗?这个代价也太大了,我们这里介绍两种恢复密码的方法。
方法一:因为 Mysql 密码存储于数据库 mysql 中的 user 表中,所以我们只要用已知密码的 user 表拷贝过来覆盖就行了。
Linux 下 在 /var/lib/mysql/mysql/ 目录下有三个 user 表相关文件 user.frm、user.MYD、user.MYI。它们分别表示:
user.frm //user 表样式文件
user.MYD //user 表数据文件
user.MYI //user 表索引文件
为保险起见,我们先将这三个 user 表相关文件备份,
然后我们将知道密码的 mysql 库中 user 表的三个文件拷贝过来,这时我们可以用 ls 看到六个 user 表文件。
这时我们只要重启 mysql 服务就可以用已知的密码来访问 Mysql 数据库了。
重启的命令为:service mysql restart 或
/etc/init.d/mysql restart
现在我们可以用已知密码的来访问 Mysql 数据库了。
方法二:
方法一是在已知另外一个 Mysql 数据库密码的的前提下进行密码恢复的,如果没有这样的一个已知密码的 Mysql 数据库,我们又该如何恢复呢?我们使用在 Mysql 中文参考手册上介绍的一种方法,这种方法分几个步骤:
1:向 mysqld server 发送 kill 命令关掉 mysqld server(不是 kill -9), 存放进程 ID 的文件通常在 MYSQL 的数据库所在的目录中。
killall -TERM mysqld // 你必须是 UNIX 的 root 用户或者是你所运行的
SERVER 上的同等用户,才能执行这个操作。
2:使用 `–skip-grant-tables 参数来启动 mysqld。(LINUX 下 /usr/bin/safe_mysqld –skip-grant-tables , 下 c:mysqlinmysqld –skip-grant-tables)
3:然后就可以无密码登录到 mysqld server,此时 Mysql 的密码和刚安装时一样,都是为空。现在我们可以使用图六的方法用 mysqladmin 来改变 mysql 的密码了。
4:载入权限表,可以使用 mysqladmin flush-privileges 来刷新权限表
5:使用新密码登陆。
Mysql 是一个功能强大的,需要在实践中多练习才能熟练掌握,本文介绍 Mysql 的安装以及最基本的访问 Mysql 的命令以及修改密码命令,最后就 Mysql 密码丢失问题介绍了两种恢复密码的方法。希望对大家有所帮助。
感谢各位的阅读,以上就是“Linux 系统中 Mysql 的安装备份与密码恢复方法”的内容了,经过本文的学习后,相信大家对 Linux 系统中 Mysql 的安装备份与密码恢复方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!