在ubuntu上(我使用的是mint)和ubuntu基本没区别。安装mysql。
1) sudo apt-get install mysql-server 2) sudo apt-get install mysql-client 3) sudo apt-get install libmysqlclient-dev
安装完毕后,mysql就是默认启动的,可以通过:
ps -aux | grep mysql
来查看mysql进程。
有时候安装1)时并没有弹出提示框来要求输入 root 密码。此时mysql无法登录。我不清楚root密码是什么(反正不是空,我试过了)。
折腾了许久有两种方式可以解决:
方式一 进入mysql目录,修改mysqld.cnf文件,加入skip-grant-tables
cd /etc/mysql/mysql.conf.d/
vim mysqld.cnf
找到 [mysqld]这一节,在其中加入:
skip-grant-tables
wq保存退出,重启mysql服务
sudo service mysql restart
方式二 (我使用的是这一种):
sudo vim /etc/mysql/debian.cnf
此处,一定要加入sudo(除非你是使用的root账户),否则打开看不到内容,vim底部会提示没有权限。
[client] host = localhost user = debian-sys-maint password = xxxxxxxxxxxxxxxxxxxx socket = /var/run/mysqld/mysqld.sock
可以看到,有用户debian-sys-maint , 下面有密码(很难记忆的字符串)。使用此用户和密码进入到mysql中。
use mysql;
// 不要直接使用
update user set authentication_string=password('xiaolu----') where user='root' and host='localhost';
重启mysql服务后,你会发现,看似修改了,然后依然登录不上去(使用 root用户和xiaolu----密码)
此时应当(在mysql中,通过方式一或者方式二进入到mysql):
mysql> select plugin from user where host = 'root';
得到的结果是: auth_socket;
请使用:
mysql>update user set plugin='mysql_native_password';
然后,再去执行修改密码操作。此时成功。
mysql>flush privileges;
mysql> exit 退出mysql sudo service mysql restart; mysql -uroot -p 输入密码。 成功登录。
ps:如果采用方式一(即skip-grant-tables方式,登录成功后,请将 skip-grant-tables注释掉或者删除)