主要记录win10子系统ubuntu16.04安装mysql踩过的坑和相关的解决办法

注:如果已经安装好,仅仅开启出现错误,可以直接跳转到第五步


文章目录

  • 主要记录win10子系统ubuntu16.04安装mysql踩过的坑和相关的解决办法
  • 1、首先学会使用ubuntu查看进程以及关闭进程的方法
  • 2、关于网上大量需要重装之类的教程
  • 3、如何安装mysql
  • 4、安装后之后查看是否安装成功
  • 5、关于无法开启mysql
  • 5.1 登录


1、首先学会使用ubuntu查看进程以及关闭进程的方法

有好多种不同的方法来查看和停止进程,这里只记录自己使用的一种

ps -A 查看当前系统所有的进程。(常用)
kill 进程号 》》》可关闭相应进程

例如
这里只列举一部分 ,输入ps -A后可以得到ubuntu的所有进程

cidy@SKY-20161215HPY:~$ ps -A
  PID TTY          TIME CMD
22642 pts/0    00:00:00 bash
22705 ?        00:00:00 mysqld_safe
23082 ?        00:00:00 mysqld
23134 pts/0    00:00:00 ps

如果我想停掉 mysqld和mysql_safe

cidy@SKY-20161215HPY:~$ sudo kill -9 22705 23082

这样就可以听知道相关的进程

2、关于网上大量需要重装之类的教程

我尝试过好几篇博主提供的关于卸载重装的方法最终都以失败告终。希望大家不要盲目的卸载重装浪费大把时间

3、如何安装mysql

执行一下命令就可以安装了,上网从官网下载安装包的方法应该也可以但是太慢了,选择放弃。

sudo apt install mysql-server mysql-client

在安装的过程种会提示你输入密码,此时你可以输入自己记得住的密码,要不然后买你会比较麻烦

4、安装后之后查看是否安装成功

dpkg -l | grep mysql-server(便于查看是否成功安装/卸载)
dpkg -l | grep mysql-client(便于查看是否成功安装/卸载)
显示如下,表示正常安装了mysql-server

cidy@SKY-20161215HPY:~$ dpkg -l | grep mysql-server
ii  mysql-server                               5.7.29-0ubuntu0.16.04.1                      all          MySQL database server (metapackage depending on the latest version)
ii  mysql-server-5.7                           5.7.29-0ubuntu0.16.04.1                      amd64        MySQL database server binaries and system database setup
ii  mysql-server-core-5.7                      5.7.29-0ubuntu0.16.04.1                      amd64        MySQL database server binaries

5、关于无法开启mysql

输入

sudo service mysql start

显示错误

* Starting MySQL database server mysqld
No directory, logging in with HOME=/
...

这个是由于mysql日志输出的目录没有权限导致的
解决方法:

#停止mysql服务 
sudo service mysql stop
 修改权限 
sudo usermod -d /var/lib/mysql/ mysql
#重启mysql服务
sudo service mysql start

如果输入 sudo service mysql stop 显示fail 可以采用我在第一步所说的方法从后台直接关闭相关进程

5.1 登录

mysql -u root -p

报错:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

因为安装的过程中没让设置密码,可能密码为空,但无论如何都进不去mysql。
解决方法:
输入

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块的最后加入

skip-grant-tables

然后保存退出: ctrl+O,回车,再ctrl+X
作用:就是让你可以不用密码登录进去mysql。
再重新启动mysql:

service mysql restart

报错:

su: Authentication failure

解决方法:

先进入到root用户:

su root

然后在重新启动即可。
在终端上输入

mysql -u root -p

遇见输入密码的提示直接回车即可,进入mysql后,分别执行下面三句话:

use mysql; # 回车 update user set
authentication_string=password(“你的密码”) where user=“root”; # 回车 flush
privileges; # 回车

然后退出mysql:

quit

重新进入到mysqld.cnf文件中去把刚开始加的 skip-grant-tables 这条语句给注释掉:

参考文献 [1]:第五步主要参考来源 [2]:这种方法可以尝试