reference to : http://www.cnblogs.com/roadofstudy/p/7446690.html
最近在ubuntu系统上安装了MySQL,但是安装时没有提示输入root用户密码,在网上找了一天解决方案,试图修改root用户下的登入密码,但是网上的帖子都不凑效,最后终于改成功了,因此记下来以供有同样需要的人参考。
1、安装
1
2
3
|
$ sudo apt-get install mysql-server
$ apt install mysql-client
$ apt install libmysqlclient-dev
|
以此在终端输入上述代码,等待安装。装好后,输入以下代码检查下是否安装成功。
1
2
3
|
$ sudo netstat -tap | grep mysql
$ netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 7510/mysqld
|
如果出现第三行提示,则表明安装成功。
2、登入MySQL
1
|
$ mysql -u root -p
|
输入密码,如果可以进入则下面的不用看了;如果提示不能登入,则我们尝试启用安全模式登入MySQL,这样可以绕过密码登入,登入后再修改密码。
3、安全模式登入MySQL
1
2
3
4
5
6
7
|
$ sudo /etc/init.d/mysql stop
-------------------------------------
[sudo] wl 的密码:
[ ok ] Stopping mysql (via systemctl): mysql.service.
$ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
|
输入第一行终止MySQL运行,成功,会提示下面两行;输入第四行,成功,没有任何报错则可以另外打开一个终端窗口进行下一步操作;但是一般会报错,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
因此我们尝试输入以下代码
1
2
|
$ sudo
mkdir
-p /
var
/run/mysqld
$ sudo
chown
mysql:mysql /
var
/run/mysqld
|
最后再次输入:
1
|
sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
|
到了这里不在提示错误,可以打开另一个终端端口了,尝试无密码登入MySQL。
1
|
mysql -u root
|
到这里应该可以进入MySQL了,继续操作
1
2
3
4
5
6
7
|
>
use
mysql;
> update user set authentication_string=PASSWORD(
"这里输入你要改的密码"
) where User=
'root'
; #更改密码
> update user set plugin=
"mysql_native_password"
; #如果没这一行可能也会报一个错误,因此需要运行这一行
>
flush
privileges; #更新所有操作权限
> quit;
|
4、使用修改的密码登入MySQL
经过上面一系列的操作,应该可以正常使用你更改的密码登入了。
1
2
3
4
|
> sudo /etc/init.d/mysql stop
> sudo /etc/init.d/mysql start # reset mysql
> mysql -u root -p
|
第一行先终止数据库运行,第二行重启数据库服务,第三行root用户登入。
分类:
PHP
本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/7647994.html如需转载请自行联系原作者
demoblog