Ubuntu安装mysql

Ubuntu安装mysql

背景:最近在学习MySQL,详情可见前面的博客MySQL从入门到入土(1)MySQL从入门到入土(2)进阶篇偏向实际生产环境,遂在Ubuntu中搭建MySQL环境模拟实际环境。

安装

ubuntu中安装mysql只要一行命令就可以了 sudo apt install mysql-server

配置

注意事项

通过apt安装的mysql
不需要像其他平台那样开启服务,因为已经默认开启,并且服务名叫做mysql,而不是mysqld

登录

方法一:默认账户登录

查看密码使用sudo cat /etc/mysql/debian.cnf这条查看

bot@ubuntu:~/Desktop/python/django/2$ sudo cat /etc/mysql/debian.cnf
[sudo] bot 的密码: 
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = SffnwAJrKhIFZ2tO
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = SffnwAJrKhIFZ2tO
socket   = /var/run/mysqld/mysqld.sock

方法二:直接进入mysql
命令:sudo mysql

本地 root 用户

到了关键的一步,其实现在你的数据库中就有一个叫做 host 字段为 localhostroot 的用户我们需要做如下几件事情:

  • 修改初始 root 用户的密码(修为我们自己的密码)

不需要授予访问权限等操作,因为默认已经有了

重置密码

重置 root 账户密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

刷新权限

FLUSH PRIVILEGES;

远程root 用户

如果需要远程登陆:

  • 创建一个 host 字段为 % 的 root 用户(创建用户的同时设置密码)
  • 授权所有数据库的访问权限
  • 刷新权限列表

有些 uu 就会很奇怪为什么要创建两个 root 用户呢?这个和 mysql 的用户管理方式有关系:localhost 表示本机登录;% 表示远程登陆。
如果 root 用户只有 % ,那就只能除了本机外的其他计算机才能登陆 mysql server,如果用户只有 localhost,那只有本机可以登录,远程计算机不能登录 mysql server
那么 mysql 为什么要这么设计呢?可能是为了安全吧!这样我们可以为 root 设置两个不同的密码,localhost 环境下设置一个很简单的密码;% 环境下就可以极其复杂,诸如:MnRmsrdm9wjkT5XC9Y2F5b4IouAPZBfx (注意 mysql 的密码有长度限制,好像是 32 个字符长度)

新建一个 host 为 % 的 root用户,密码随意

create user 'root'@'%' identified by 'yourpassword';

授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新权限

FLUSH PRIVILEGES;

使用navicat连接,报错如下:

连接失败

先关停mysql服务

sudo systemctl stop mysql

编辑mysql配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到如下行,并注释:

#bind-address           = 127.0.0.1

再开启mysql服务

sudo systemctl start mysql

测试:

连接成功

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值