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;

猜你喜欢

转载自blog.51cto.com/14439341/2418561
今日推荐