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