主要记录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]:这种方法可以尝试