一,装了二个不同版本的mysql,进入数据库要密码
今天又装了个新的mysql,因为以前的那个mysql比较老了,不支持mysql的分区功能,我又不想把老的删除掉,里面有好多,我实践过的东西,不舍得。我的电脑里面有二个不同版本的mysql,本想让这二个不同版本的mysql同时跑起来,没成功。我通过修改/share/mysql/mysql.server中的配置,让二个不同版本的mysql都能独立跑起来
vi /usr/local/mysql/share/mysql/mysql.server
- then
- print_defaults="$bindir/my_print_defaults"
- elif test -x $bindir/mysql_print_defaults
- then
- print_defaults="$bindir/mysql_print_defaults"
- else
- # Try to find basedir in /etc/my.cnf
- conf=/usr/local/mysql/my.cnf //读取不同的mysql配置在这儿改
- print_defaults=
- if test -r $conf
- then
- subpat='^[^=]*basedir[^=]*=\(.*\)$'
then
print_defaults="$bindir/my_print_defaults"
elif test -x $bindir/mysql_print_defaults
then
print_defaults="$bindir/mysql_print_defaults"
else
# Try to find basedir in /etc/my.cnf
conf=/usr/local/mysql/my.cnf //读取不同的mysql配置在这儿改
print_defaults=
if test -r $conf
then
subpat='^[^=]*basedir[^=]*=\(.*\)$'
在这里面修改调用mysql的配置文件,差不多在218行左右,如果你找不到mysql下面的share目录的话。你可以用这个命令查一下
[root@BlackGhost mysql]# whereis mysql mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/include/mysql /usr/local/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
从这儿我们就能发现share的目录了。
mysqld_safe --user=root 或者/usr/local/mysql/bin/mysqld_safe --user=root 启动后
mysql -u root
[root@BlackGhost zhangy]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root密码忘记了
二,解决办法
将启动mysql相关的进程全部停掉
- ps -e|grep mysql |xargs killall
- mysqld_safe --user=root --skip-grant-tables
- mysql -u root
- use mysql
- update user set password=password("new_pass") where user="root";
- flush privileges;
ps -e|grep mysql |xargs killall
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
forward from
http://blog.51yip.com/mysql/927.html