关于ubuntu上安装mysql

重装ubuntu的原因

本来第一次用标准的流程装的lamp(liunx,apache,mysql,php)装的好好的
然后我就在捣鼓python2和python3的pip兼容的问题,弄了半天越弄越糟糕
我就想着先把python3卸载了再重装,说不定就没问题了呢!
我真的机智!

然后。。。。

悲剧了,当我卸载python3的过程中我就看见我在ubuntu上面装的软件图标一个一个的再消失啊!!!
没办法!我还是要等它卸载完啊!
可是卸载完之后,用啥功能没啥功能。
这我只能用绝招了啊!

重启!

卧槽!卧槽!!卧槽!!!

连图形界面的莫得了,这下舒服了。

算了从头再来吧!
从哪个头?

我想了一下 我选择了重装系统。。。

因为我电脑是装的双系统,所以我就直接进入windows10系统将我分给ubuntu的那200G直接删除了
然后下载了有一个easyUEFI将启动项删除。。。

可是呢!一重启又发现这根本没用啊!blos启动项里面一直有ubuntu的grub的引导项。删也删不了。。。

算了吧!我一想,我直接重装算了。。。

我就制作好U盘启动盘,用上次分出来的200G直接重装。

这200G我是这样分的

挂载点 大小
/boot 200M
/ 40G
/home 140G
/swap 5G
/usr/local 15G

我也不太知道合不合理,反正用着没问题

然后呢?
我在将引导装到哪里的时候迷惑了,默认的是和windows相同的分区,不过我看了网上的一些文章
选择了安装到/boot分区,我也忘了我之前选的是装到哪里了。尴了个尬,这一次就装到/boot这里吧!

然后呢?

开启了漫漫的重新安装软件的路途了啊!

然后呢?
就到了我写这篇blog的目的了。。。

正文

在安装lamp的时候啊!这一次可谓是遇到了非常多的问题啊!
装ubuntu的时候还行
装apache时也还行
可是到了php和mysql就开始给我掉链子了
php就不谈了,问题还是比较好解决,上Google搜了半天,发现是要添加源的问题。。。继续尴尬

安装mysql

当然是使用安装啊

1
sudo apt-get install mysql-client mysql-server

可是剧情不按照我想的来

说好的安装过程中会让我输密码的呢?怎么直接就装完啦!!!

然后我试着

1
mysql -u root -p

输完了所有密码之后,我终于想到了,这TM肯定是自动设置了密码了

然后啊!

我就Google啊!
嘿嘿!
找到了

原来是自动设置了密码,初始密码和用户就在sudo vim /etc/mysql/debian.cnf文件里
里面的内容大概是这种

1
2
3
4
5
6
7
8
9
10
11
12
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = hGu99nJgoWcmCDKT
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

然后我就用这个用户和密码登陆进去了,进去了干嘛?当然是改root密码啊!

友情提示:修改密码在mysql中用如下命令

1
mysql> update mysql.user set authentication_string=password('yourpassword') where user='root'and Host = 'localhost';

改完重启

如果这就成功了的话!我就不会写这个blog了。。。

我重启了又重启可是还是进不去一直报这个错:

1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

然后我发现我用

1
sudo mysql -u root -p

居然能进去

然后我就想到了,多半是登陆权限的问题了。

我就在网上针对这个问题搜索了一下,找到了答案。

mysql报2800错误

原因就是root用户的plugin的值为auth_socket

1
2
3
4
5
6
7
8
9
mysql> select user, plugin from mysql.user;
+-----------+-----------------------+
| user | plugin |
+-----------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| dev | mysql_native_password |
+-----------+-----------------------+
3 rows in set (0.01 sec)

我们就只需要输入

1
mysql> update mysql.user set plugin='mysql_native_password' where user='root';

再重启mysql服务就行了

OK!问题解决

卸载mysql

这里顺便说一下怎样完全清除mysql吧!

首先删除mysql:

1
sudo apt-get remove mysql-*

然后清理残留数据(这一步不做的话,无法完全清除mysql):

1
2
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
这一步会弹出一个对话框,大概是提醒你你的数据库要被删了,选yes就行了

然后mysql就没啦!你就可以重装啦!

最后的最后

关于mysql的一些命令

1
2
3
4
sudo service mysql start/stop/restart 启动/停止/重启!**
类似的
sudo service apache2 start/stop/restart ubuntu上是apache2,centOS上市httpd
很多服务都是这样的

真的没了…