在Debian 9系统上安装Mysql数据库的方法教程
前言
看到题目大家应都会想,在 Debian 9 上安装 Mysql?那不是很简单的事儿吗?直接 sudo apt install mysql-server
不就行了吗?
没想到遇到了几个之前没遇到的问题,耽误了不少时间。
原来在 Debian 9 中,Mysql 已经被替换成了 MariaDB,所以和传统的安装 Mysql 有一些不一样的地方。
安装方法
首先我们还是可以用 sudo apt install mysql-server
这样安装上的,但是安装上的还是 MariaDB,所以最好还是采用 sudo apt install mariadb-server
这样吧。
安装上之后,发现和传统的不一样,因为没有弹出设置密码的那个蓝色的界面,误以为直接可以空密码登录。直接尝试 mysql -uroot -p
,发现 ERROR 1698 (28000): Access denied for user 'root'@'localhost'
。难道默认密码不是空?查看 /etc/mysql/debian.cnf 中默认密码确实是空。
第一反应是执行 mysqld_safe skip-grant-tables
,然后 use mysql;
,然后 update user set password=PASSWORD('mysql') where User='root';
。这样确实可以解决问题,但是重启之后莫名发现又登录不了了。
懵逼一段时间后发现 MaraiDB 的默认密码确实是空,但是只能用 Root 用户登录
注意:这里的用户说的是 linux 系统的 Root 用户,也就是说,你 sudo su 进入 Root 终端后,是可以正常登录的,但是普通用户却无法登录。(为了区别一下,我把 Root 终端的首字母大写,而 mysql 的 root 用户首字母小写)
大概明白了,所以我们不能图方便一直使用 root 用户了,正确的姿势应该是这样的:
首先是 sudo apt install mariadb-server
安装上数据库。
然后 sudo su 切换至 Root 终端,通过 mariadb -uroot -p
登录到数据库,如果默认密码不是空的话,可以查看 '/etc/mysql/debian.cnf'。
这时候要做的是创建新用户:create user 'admin'@'localhost' identified by 'mysql'
。
然后给新用户设置权限:grant all on *.* to 'admin'@'localhost'
。
好了,我们又设置了一个方便的 "Root" 用户,只不过改了名字叫做 admin。
PS:我发现在 Root 终端中,不管密码输入什么都能正常连接数据库...晕。
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
如何解决MySQL5升级为MySQL8遇到的问题my.ini
这篇文章主要介绍了如何解决MySQL5升级为MySQL8遇到的问题my.ini,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12MySQL Innodb关键特性之插入缓冲(insert buffer)
这篇文章主要介绍了MySQL Innodb关键特性之插入缓冲的相关资料,帮助大家更好的理解和学习使用Innodb存储引擎,感兴趣的朋友可以了解下2021-04-04mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空
这篇文章主要介绍了mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09
最新评论