mysql & redis 初始化那些事

本文做了以下操作:

  • 允许远程访问 mysql & redis
  • 配置 mysql 的 root 用户密码
  • 配置 redis 的密码
  • 为远程登录 mysql 的 root 授予一切权限

初始化 mysql

1. 允许远程访问 mysql

修改文件/etc/mysql/mysql.conf.d/mysqld.cnf,找到以下行:

bind-address = 127.0.0.1

将其修改为:

bind-address = 0.0.0.0

重启 mysql 服务

systemctl restart mysql

2. 设置 root 的密码,为其授予所有权限

进入 mysql 交互命令行,默认情况下 root 用户密码为空

$ mysql -u root -p
mysql> 

系统中默认存在root@localhost

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

为本地登录和远程登陆的 root 设置密码,并为后者授予所有权限。

在 MySQL 中,账户由用户名和主机名组合而成,即使用户名相同,不同的主机名也会视为不同账户。如果仅创建root@%用户且未设置root@localhost的密码,则无法从本地登录 root (优先匹配到root@localhost)。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

初始化 redis

1. 允许远程访问 redis

修改文件/etc/redis/redis.conf,找到以下行:

bind 127.0.0.1 ::1

修改为如下内容:

#bind 127.0.0.1 ::1
bind 0.0.0.0

2. 设置密码

修改文件/etc/redis/redis.conf,找到以下行:

# requirepass foobared

修改为如下内容:

# requirepass foobared
requirepass your_password

重启 redis 服务

systemctl restart redis

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Index
滚动至顶部