免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: wypdao
打印 上一主题 下一主题

linux下非root用户安装mysql的问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-04-05 22:33 |只看该作者
我看FAQ了,就是这个:

*******************************************************************
Q: 忘记MySQL的root密码,怎么修改
A:


CODE:[Copy to clipboard]如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使

************************************************************************

我运行./bin/mysqld --skip-grant-tables &

但是出错了,

+++++++++++++++++++++++++++++++++++++++++++++++++
030430 17:16:33 [ERROR] Can't find messagefile '/usr/local/mysql/share/mysql/english/errmsg.sys'
030430 17:16:33 [ERROR] Aborting

++++++++++++++++++++++++++++++++++++++++++++++++++++

我感觉应该是 那个errmsg.sys的默认路径没改,找了半天没找到从哪里改,希望您再帮一下,谢谢!!!

论坛徽章:
0
22 [报告]
发表于 2006-04-05 23:31 |只看该作者
原帖由 wypdao 于 2006-4-5 22:33 发表
030430 17:16:33 [ERROR] Can't find messagefile '/usr/local/mysql/share/mysql/english/errmsg.sys'
030430 17:16:33 [ERROR] Aborting

说实话,我也要感谢你,让我学到很多东西。
这个问题也够强!如果不是你非要在无 root 权限下安装 MySQL,而且又误打误撞碰到这个问题,估计我是真的一辈子都不知道了。哈哈
其实你 google 搜索一下 errmsg.sys 就有答案了。下面这个地址收藏一下吧:
http://www.netlab.cse.yzu.edu.tw ... /manual_Server.html

MySQL 支持多语言,启动的时候默认是用 英语,就是 english。在你这个版本里面,语言信息文件默认是在 'mysql_base_dir/share/mysql/' 下面,它会去那里找。
所以,你去你安装的mysql的目录下去看,share/mysql/english/errmsg.sys 这个文件应该有吧?启动的时候用 ./bin/safe_mysqld --skip-grant-tables --language=/YourPathToMySQL/share/mysql/english & 即可!
但是我奇怪它怎么会认定 mysql_base_dir 是 /usr/local/mysql 呢?你找找这个原因。

上面这个方法应该可以解决了。
另外,还有一个方法也可以用,就是重新 mysql_install_db,等于重新初始化 mysql 的系统表,重新设置 root 密码,这个比较好理解吧。本来我就想这么回答你的,后来出于习惯还是google一下,没想到有大发现。

论坛徽章:
0
23 [报告]
发表于 2006-04-06 21:32 |只看该作者
您太谦虚了,我之所以非要在非root用户下装mysql,因为公司规定不让在机器上随便安装软件,让管理员知道就挂了,所以我是偷着装的(呵呵),您给的解决办法明天才知道会不会再出错,不过还得感谢您,非常的感谢!!!!

论坛徽章:
0
24 [报告]
发表于 2006-04-06 21:57 |只看该作者
上面的试验你还是可以继续,但是劝你还是不要私自装 MySQL 了,因为管理员不可能不知道,除非他很不负责任,不经常检查服务器状态。
因为一个 mysqld 启动,至少用掉30多兆内存,而且一个 top 就可以看到有一个用你的用户名启动的 mysqld 进程。再者,你还要改掉配置文件中的端口号及一些相关路径设置,否则会和服务器上原来有的 mysqld 冲突。

论坛徽章:
0
25 [报告]
发表于 2006-04-07 19:26 |只看该作者
呵呵,管理员不是不负责,他是忙不过来啊,他一般也没时间来查我们的,所以装了不用担心被抓,只是如果跟他要管理员密码 那他肯定不会告诉我们的,

今天用你的方法试了一下,加上--language参数一样出错,又找不到另外一个文件的路径了,不过后来我干脆把数据库重新解压了一下,把原来的都覆盖掉,然后在运行mysql_install_db,之后再修改一下mysql.server中的一些路径,运行mysql.server,启动成功,并且root密码为空,后来又按照正确的方法设置了密码,现在一切正常了

谢谢你的帮忙!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP