日期:2014-05-16  浏览次数:20764 次

Redhad4 下安装mysql5

?

?

???? 一开始是下载的是2进制的包,按照网上的教程 使用?make 命令?安装,安装完成以后就是不能 以root 用户登录mysql ,现在想想其实按照 我下面描述的出现问题的 解决方法 还是可以的,算了 就把使用RPM 的安装方式 记录一下吧,网上大多数的教程都是这样安装的。

?

?

一、安装文件准备:

MySQL-server-community-5.0.45-0.rhel4.i386.rpm
MySQL-client-community-5.0.45-0.rhel4.i386.rpm
MySQL-devel-community-5.0.45-0.rhel4.i386.rpm
MySQL-shared-community-5.0.45-0.rhel4.i386.rpm
MySQL-shared-compat-5.0.45-0.rhel4.i386.rpm

?

二、安装过程

?

?

操作1:设置文件执行权限,执行:chmod 755 MySQL*.rpm

操作2:执行:rpm -ivh MySQL-server-community-5.0.45-0.rhel4.i386.rpm

?????? 如果系统进行以下提示,则需安装perl-dbi,可进行操作3,如果提示安装完成并成功启动,可直接进行操作4。

?????? error: Failed dependencies:
??????? perl(DBI) is needed by MySQL-server-community-5.0.51a-0.rhel4.i386

操作3:

?????? 下载文件perl-DBI-1.32-5.i386.rpm并执行:rpm -ivh perl-DBI-1.32-5.i386.rpm

??????? 注意:perl-DBI-1.32-5.i386.rpm可以从linux的安装盘中获得,路径:disk2/RedHat/RPMS/

??????? 如果提示:error: can't create transaction lock on /var/lib/rpm/__db.000,则说明权限不够,需要su到root

操作4:执行:rpm -ivh MySQL-client-community-5.0.45-0.rhel4.i386.rpm

操作5:执行:rpm -ivh MySQL-devel-community-5.0.45-0.rhel4.i386.rpm

操作6:执行:rpm -ivh MySQL-shared-community-5.0.45-0.rhel4.i386.rpm

操作7:执行:rpm -ivh MySQL-shared-compat-5.0.45-0.rhel4.i386.rpm

-----安装完成

安装完成后,如果使用root用户安装的,记得su回来

?

?

a. 使用 netstat -nat |grep 3306? 观察 mysql 是否安装成功

?

[root@STH64V01 mysql]# netstat -nat |grep 3306
tcp??????? 0????? 0 0.0.0.0:3306??????????????? 0.0.0.0:*?????????????????? LISTEN?????
[root@STH64V01 mysql]#

?

b. 使用 serveic mysql status 查看mysql 服务状态

??????????? serveic mysql start?????启动

????????????serveic mysql stop????? 停止

?

?

三、用户赋权

执行:mysql-uroot 会以root身份登陆mysql,在localhost上,mysql的root,默认密码为空。

登陆成功,系统提示符变为:mysql>

在mysql控制台下,建立一个任何主机都能访问的超级用户 dbAmin,密码为 123456 可执行以下语句

GRANT ALL PRIVILEGES ON *.* TO dbAdmin@% IDENTIFIED BY \'123456\' WITH GRANT OPTION;

?

?

完毕。

?

如果出现问题(我按照以上不步骤安装出现了问题)

?

问题:安装好mysql 后,不能用root 用户登录

?

解决:?

?

首先使用下面的方法登录到mysql 数据库上,我发现 数据库mysql 下面的user 表里面居然是空的,一个数据也没,更别说这样改root 密码了,办法就是 拷贝一份 user 表的初始数据,导入到 mysql 库下的 user表里,附件中有 初始化数据

?

?mysql> source '/home/init.sql'

?

? 方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

?

?

?

?