步骤
1.说明:系统是Ubuntu18.04.6 LTS
2.安装MySQL,直接用命令行(也可以用其他方法安装,可以参见参考目录中的第一条)
首先,输入命令确保自己仓库已经被更新
sudo apt update
然后,安装MySQL5.7 输入下面命令
sudo apt install mysql-server -y
然后等待几分钟就会安装成功。
问题
当我在进入甚至是想要开启MySQL的时候却打不开,显示Access denied for user ‘root‘@‘localhost‘ (using password: YES),说明权限不够,这里的yes就是说你登录的时候输入密码了,如果你没有输入密码那么就会显示NO,都是拒绝访问。
总结问题:
出现场景:这个问题一般出现在刚刚安装完mysql的时候
出现原因:由于使用命令sudo apt install mysql安装时,并没有提示输入密码,则密码没有初始化,使用root用户登录自然失败.
解决方法
我发现安装的时候都是默认安装,就是咱们没有改咱们的账号密码,所以现在咱们就更改账号密码
1.使用cat命令查看默认的用户名密码
sudo cat /etc/mysql/debian.cnf
展示内容:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = HwPMmIAFg1GNU0OH
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = HwPMmIAFg1GNU0OH
socket = /var/run/mysqld/mysqld.sock
2.使用上面写的账号密码登录,例如上面账号是debian-sys-maint,密码是HwPMmIAFg1GNU0OH
mysql -udebian-sys-maint -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
……
mysql>
这样就是登录成功了
3.然后咱们修改默认的账号密码,修改PLUGIN设置(出现这个问题的原因就是这个),这里设置的账号密码都是root,可以自己去修改自己想要的账号密码
UPDATE mysql.user SET authentication_string=PASSWORD('root'), PLUGIN='mysql_native_password' WHERE USER='root';
4.需要重启我们的MySQL,看的出来,第一个是关闭,第二个是开启,都要输我们的开机密码
/etc/init.d/mysql stop
/etc/init.d/mysql start
这样我们就可以进行登录了
5.登录MySQL,输入下面命令,然后输入root密码就能进去,退出可以输入exit命令
mysql -uroot -p
附录:如果没有更改成功,那就直接卸载重装一下,下面给出卸载步骤,有的时候MySQL会有很多其他的问题,那么也可以选择重装。
卸载命令:
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
安装命令:
sudo apt-get update
sudo apt-get install mysql-server
查看MySQL版本
直接输入下面命令
mysql -V
或者
mysql --version
查看MySQL安装路径
whereis mysql
如下图:
启动关闭MySQL
有好几种方法来启动MySQL,我只记最简单的,用service来启动和关闭MySQL,当然还有重启,(在参考网址中还会给出其他的启动关闭重启的方法)直接上命令
注意:我的版本是5.7.37,版本不同命令不同
1.启动命令,启动要输入登录密码
service mysql start
service mysqld start (5.0版本是mysqld)
启动之后并没有什么改变,但是我们可以通过命令进入MySQL
mysql -uroot -p
然后输入密码就可,如图:
2.退出命令(数据库中退出是exit)
service mysql stop
service mysqld stop (5.0版本是mysqld)
如图:
3.重启命令
service mysql restart
service mysqld restart (5.0版本是mysqld)
参考网址
怎么在Ubuntu Linux上安装MySQL
Mysql:ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’
Linux 查看 MySQL的版本信息
Linux启动/停止/重启Mysql数据库的方法