Win10自带Ubuntu子系统下Mysql安装踩坑记录

linux系统为win10自带Ubuntu子系统

错误的安装过程

我按照一般的方法安装mysql,安装步骤如下

1.升级源

$ sudo apt-get update

2.安装mysql

$ sudo apt-get install mysql-server

3.安装好之后运行mysql -uroot -p

喜闻乐见报错了

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

在网上找各种办法试错无数,最终终于找到了解决方法

mysql卸载方法

1.先把安装错误的mysql卸载

$ sudo apt-get remove mysql-*

2.然后清理残留数据

$ dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

正确的安装方式

1.先更新下软件库

$ sudo apt-get update

2.在mysql官网下载deb文件并运行

https://dev.mysql.com/downloads/file/?id=477124

$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

它会让你选择想要安装的版本和一些配置,选好之后选ok就会生成相应的配置

3.再更新下软件库

$ sudo apt-get update

4.这时候就可以安装想要安装的版本

$ sudo apt-get install mysql-server

安装过程中根据安装的版本不同可能会提醒你设置root密码,如果设置了就好办,没有设置,看下面的步骤即可

5.检查mysql运行状态

$ sudo service mysql status

6.运行mysql服务

$ sudo service mysql start

设置密码

8.0版本在安装的时候并没有提示让我设置root的密码,所以当我使用$ mysql -uroot -p登录的时候会提醒我

ERROR 1045 (28000): Access denied for user ‘root’@'localhost

1.我们先获取默认的账号密码,我们打开记录密码的文档

$ sudo vim /etc/mysql/debian.cnf

内容如下

[client]
host     = localhost
user     = debian-sys-maint
password = 0eqyBUNFAnsNddnS
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = 0eqyBUNFAnsNddnS
socket   = /var/run/mysqld/mysqld.sock

2.使用第一组账号密码进行登录

$ mysql -udebian-sys-maint -p0eqyBUNFAnsNddnS

3.登录成功,进入mysql命令行,依次输入以下几条命令,不要忘记分号

//展示存在的数据库
mysql> show databases;
//切换使用的数据库 
mysql> use mysql; 
//更新密码
mysql> update user set authentication_string=PASSWORD("自定义密码") where user='root'; 
//修改身份验证方式
mysql> update user set plugin="mysql_native_password"; 
//刷新权限
mysql> flush privileges; 
//退出mysql命令行
mysql> quit;

4.重启mysql服务

$ sudo service mysql restart

5.使用新账号密码即可登录mysql

$ mysql -uroot -p
Enter password:新密码

参考文献

https://www.cnblogs.com/yahengwang/p/10112701.html
https://blog.csdn.net/qq_35531549/article/details/86379736

posted @   XmCui  阅读(4247)  评论(1编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
点击右上角即可分享
微信分享提示