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;