树莓派 Debian 9 MySQL 实践

Debian9 使用 apt 安装 MySQL 会安装 MariaDB,下面介绍一下常用的配置方法。

密码

做一次安全检查,设置 root 密码等操作。

1
$ sudo /usr/bin/mysql_secure_installation

刚装好的服务端时只能用 sudo 命令登录,然后进行后续设置

1
$ sudo mysql -u root -p

设置密码之后,根据测试,使用 sudo 登录 MySQL 在输密码处直接回车也能登录。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ sudo mysql -u root

USE mysql;

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

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

flush privileges;

执行之后必须使用密码才能登录。

远程登录

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

1
2
3
[mysqld]

# 将 `bind-address = 127.0.0.1` 注释

查看权限

1
2
3
4
5
6
7
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)

赋予完整权限

1
2
3
CREATE USER 'username'@'%' IDENTIFIED [ WITH mysql_native_password ] BY 'password';

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

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

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

1
$ sudo systemctl restart mysql

mysql.servicemysqld.service 位于 /etc/systemd/system,均软链接到了 /lib/systemd/system/mariadb.service

相关链接

0%