日期:2014-05-16 浏览次数:20841 次
?
?
???? 一开始是下载的是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>
?
?
?
?