debian、deepin、ubuntu安装mysql

参照MySQL官网的步骤:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

  1. 下载.deb包到本地,例如:下载mysql-apt-config_0.8.3-1_all.deb,wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb
  2. 切换到下载下来的包所在的目录
  3. 使用sudo dpkg -i 命令安装下载的包,例如:sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb

注:期间需要配置安装信息,如果默认,就直接选择选项中的OK项

  1. 更新包信息sudo apt-get update

  2. 安装MySQLsudo apt-get install mysql-server

  3. 检查服务状态systemctl status mysql

  4. 启动服务systemctl start mysql

  5. 停止服务systemctl stop mysql

修改密码

mysql 5.7 不在提供默认密码,在debian系列中,可以通过/etc/mysql/debian.cnf文件,查看系统默认给我们分配的用户名和密码,通过这个密码就可以直接对MySQL进行操作了。

debian-sys-maint为用户名登录,密码就在debian.cnf里。使用mysql -u debian-sys-maint -p进行登录。进入mysql之后修改MySQL的密码,具体的操作如下用命令:

$ update mysql.user set authentication_string=password("123456") where user="root";
$ flush privileges;

更新:最近又按照上的操作在deepin上安装了一下,发现安装到本机上的是maridb,而不是mysql,区别在与通过/etc/mysql/debian.cnf文件看到的是如下内容,这个时候需要切换到系统账户 root 下,以root为登录名进行修改密码的操作。
在这里插入图片描述

当修改之后就可应正常对MySQL进行操作了。

我在这里遇到的问题是,在修改完密码之后,使用mysql -u root -p passwod 登录,会提示 ERROR 1698 (28000): Access denied for user 'root'@'localhost',最初以为是密码没有修改成功,连续多次修改和重启 mysql 都无效,后来发现是因为 mysql.user 表中, root 用户的 plugin 属性值为 auth_socket,该属性值是指定用户的身份验证插件的,

如果 mysql5.7 没有为 root 用户提供密码,它将使用auth_socket插件。该插件不关心,也不需要密码。它只检查用户是否使用UNIX套接字进行连接,然后比较用户名。

如果我们要配置密码,需要更改 plugin 字段为 mysql_native_password

注意:首先更改插件然后设置密码将不起作用,它将再次回退到auth_socket

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值