微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在树莓派上建立mysql-server,然后在windows上通过mysql workbeach客户端连接访问

今天心血来潮,想在树莓派上把MysqL服务重弄回来,自从上次树莓派sd卡烧掉之后树莓派也是没怎么重弄服务了。记录一下,成成以后可能也会用到。

一、配置树莓派端服务:
1、下载MysqL-server,这个软件提供MysqL服务端能力,树莓派上就装这个就好。

sudo apt-get install MysqL-server
  • 1

2、安装过后启动服务,这时候数据库只能通过root用户登陆,且没有密码

sudo service MysqL start
  • 1
sudo MysqL -u root
  • 1

这里说的root用户数据库里的用户,和树莓派的系统root用户没有任何关系。然而登陆数据库root用户需要系统root身份权限,所以要加sudo命令转变身份。

这里写图片描述

进入数据库可以先看看里面认有哪些数据库

show databases;
  • 1

这里写图片描述

忽略上面的tron这个数据库,这是我自己建了玩的,认有前三个数据库,而其中的MysqL数据库一般是存放数据库自己的配置的数据库,我们进入这个数据库

use MysqL;
  • 1

然后查看里面的表:

show tables;
  • 1

如果没有使用use MysqL 这句话,查看MysqL下的表,需要使用show MysqL.tables

这里写图片描述

这里面有些表和数据库权限有关,以后有机会再说,现在我们要看的是user表,这个表可以用来新建数据库用户,以及用户登陆ip和密码。
先查看该表,由于字段太多,我仅查看我感兴趣的属性(列):

select user, host, password from user;
  • 1

这里写图片描述

忽略我的pi用户,该开始只有root用户,且密码一栏是空的,现在设置root用户密码:

update user set password=password('xxxxxx') where user='root';
  • 1

xxxxxx填写要设置的密码。

3、下面创建自己的用户,一般操作数据库少用root用户来操作

create user 'test'@'localhost' identified by 'xxxxxx';
  • 1

创建用户test,密码是xxxxxx,localhost表示只能本地登陆,如果改成%表示该用户可以从任意ip登陆。
这时候再去查询user表,就会发现有所更新了(去查查,试试)。

4、用刚刚创建的用户登陆数据库
先用exit 退出root登陆的数据库,然后在终端用刚刚创建的用户登陆:

MysqL -u test -pxxxxxx
  • 1

密码和-p参数紧挨着,没有空格,或者直接打-p后面不接东西,然后以安全的方式输入密码。
顺利的话一切都好,但当我们尝试进入某个数据库比如MysqL数据库,会发生权限上的错误:拒绝访问。

这里写图片描述


这是因为test用户没有任何MysqL数据库的权限,对一个数据库的权限常用的有select,update等,具体有关MysqL权限的东西可以查查其他博客。这里我们直接赋予所有权限:

  1. 切换回root用户登陆

  2. 赋予所有权限:
    grant all on *.* to 'test'@'localhost';

  3. 更新权限:
    flush privileges;

    这里写图片描述

5、再登陆回test用户就可以进行一系列操作了。
6、删除用户
root用户下:

drop user 'test'@'localhost';
  • 1

然后查看一下:

select user from MysqL.user;
  • 1

这里写图片描述


二、配置windows客户端:
1、下载MysqL wrokbeach(略)
2、打开后,

这里写图片描述

这里写图片描述


hostname是服务器的ip地址,端口一般就是3306,除非自己改过。用户名数据库用户,对应着我们上面例子里那个test,然后密码。设置好之后点test connection可以测试下数据库连接,正常的话就是可以连接上。

注:可能会存在连不上的问题,是因为服务端设置里只能本地连接的限制,不过我的树莓派中倒是没有这项设置,也没有这种阻碍,具体配置其他博客有说是在
/etc/MysqL/MysqL.conf.d中有一个bind-address设置,将它注释或者设为0.0.0.0即可,没试过,碰到再来谈论吧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐