在树莓派上建立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即可,没试过,碰到再来谈论吧。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页