我正在尝试创建一个 SQL 用户服务器 A所以服务器 B可以访问 SQL 服务器服务器 A使用 IPv6,但由于某种原因,我在运行创建用户命令时出现语法错误。
我正在尝试运行的查询:
MariaDB [(none)]> CREATE USER ‘dbusr2’@‘2600:3c00::f03c:91ff:fe24:8266’ IDENTIFIED BY ‘sd6@fs54sd4d’;
获取语法错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatc00::f03c:91ff:fe24:8266’ IDENTIFIED BY ‘sd6@fs54sd4d’' at line 1 use near ':3c
ip -6 addr show
服务器 B 上的输出
root@debian:~# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2600:3c00::f03c:91ff:fe24:8266/64 scope global mngtmpaddr dynamic
valid_lft 2591996sec preferred_lft 604796sec
inet6 fe80::f03c:91ff:fe24:8266/64 scope link
valid_lft forever preferred_lft forever
root@debian:~#
由于我对 IPv6 还很陌生,我是否遗漏了什么?
答案1
我认为您看到的问题是由于“魔术引号”你正在使用,这似乎有效
CREATE USER 'dbusr2'@'2600:3c00::f03c:91ff:fe24:8266' IDENTIFIED BY 'sd6@fs54sd4d';
请注意,这使用标准单引号。