在Debian 9系统上安装Mysql数据库的方法教程
前言
看到题目大家应都会想,在Debian9上安装Mysql?那不是很简单的事儿吗?直接sudoaptinstallmysql-server不就行了吗?
没想到遇到了几个之前没遇到的问题,耽误了不少时间。
原来在Debian9中,Mysql已经被替换成了MariaDB,所以和传统的安装Mysql有一些不一样的地方。
安装方法
首先我们还是可以用sudoaptinstallmysql-server这样安装上的,但是安装上的还是MariaDB,所以最好还是采用sudoaptinstallmariadb-server这样吧。
安装上之后,发现和传统的不一样,因为没有弹出设置密码的那个蓝色的界面,误以为直接可以空密码登录。直接尝试mysql-uroot-p,发现ERROR1698(28000):Accessdeniedforuser'root'@'localhost'。难道默认密码不是空?查看/etc/mysql/debian.cnf中默认密码确实是空。
第一反应是执行mysqld_safeskip-grant-tables,然后usemysql;,然后updateusersetpassword=PASSWORD('mysql')whereUser='root';。这样确实可以解决问题,但是重启之后莫名发现又登录不了了。
懵逼一段时间后发现MaraiDB的默认密码确实是空,但是只能用Root用户登录
注意:这里的用户说的是linux系统的Root用户,也就是说,你sudosu进入Root终端后,是可以正常登录的,但是普通用户却无法登录。(为了区别一下,我把Root终端的首字母大写,而mysql的root用户首字母小写)
大概明白了,所以我们不能图方便一直使用root用户了,正确的姿势应该是这样的:
首先是sudoaptinstallmariadb-server安装上数据库。
然后sudosu切换至Root终端,通过mariadb-uroot-p登录到数据库,如果默认密码不是空的话,可以查看'/etc/mysql/debian.cnf'。
这时候要做的是创建新用户:createuser'admin'@'localhost'identifiedby'mysql'。
然后给新用户设置权限:grantallon*.*to'admin'@'localhost'。
好了,我们又设置了一个方便的"Root"用户,只不过改了名字叫做admin。
PS:我发现在Root终端中,不管密码输入什么都能正常连接数据库...晕。
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。