mysql无法修改密码的两个解决办法

方法一:

# /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>

ubuntu下mysql安装路径更改及密码修改

一、修改mysql的安装路径

1 停止mysql服务

sudo /etc/init.d/mysql stop

2 复制现有数据目录到目标目录

sudo cp /var/lib/mysql /home/mysql

3 修改权限

sudo chown -R mysql:mysql /home/mysql

sudo chmod 755 /home/mysql

sudo chmod 660 /home/mysql ib*

sudo chmod 755 /home/mysql/mysql

sudo chmod 660 /home /mysql/mysql/*

4 修改mysql配置文件

sudo vi /etc/mysql/my.cnf

修改datadir 为 /home/mysql

5 修改ubuntu特有安全机制

sudo vi /etc/apparmor.d/usr.sbin.mysqld

修改 /var/lib/mysql 为 /home/mysql

6 删除ubuntu生成的~文件

sudo rm /etc/apparmor.d/usr.sbin.mysqld~

7 重启完成

sudo /etc/init.d/apparmor restart

sudo /etc/init.d/mysql start

二 修改mysql数据库密码

用UPDATE直接编辑user表

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

mysqld_safe --skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

mysql> FLUSH PRIVILEGES;