安装

sudo apt-get install mysql-server

将会安装mysql 的mariadb版本,该版本是树莓派的一个开源分支。

登陆

如果安装的时候没有提示输入root用户密码 那么使用下面的命令登陆

sudo mysql -uroot -p

密码为空,直接enter可进入。

这是由于 plugin=unix_socket 造成的,使用如下命令解决该问题。

$ sudo mysql -u root

USE mysql;

select plugin from user;
+-------------+
| plugin      |
+-------------+
| unix_socket |
+-------------+

UPDATE user SET plugin='' WHERE User='root';

flush privileges;

查看用户权限

SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
+-----------+------+-------------------------------------------+------------+------------+
| host      | user | password                                  | Grant_priv | Super_priv |
+-----------+------+-------------------------------------------+------------+------------+
| localhost | root | *06EE5A234B2A56A0FD89545356F30594E36CC7EF | Y          | Y          |
+-----------+------+-------------------------------------------+------------+------------+
1 row in set (0.00 sec)

远程登陆

/etc/mysql/mariadb.conf.d/50-server.cnf

# 将 `bind-address		= 127.0.0.1` 注释

赋予完整权限

CREATE USER 'hduser'@'%' IDENTIFIED BY 'password';

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

我们已经创建 root 用户,并且让这个用户在 192.168.199.0/24 地址内能连接到服务器。

修改已有用户权限

USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; 
FLUSH PRIVILEGES;

重启 mysql.service 服务,进行测试。

sudo systemctl restart mysql

参考