MySQL支援IPv6-TODO
MySQL支援IPv6
此處使用的MySQL版本為mysql-5.5.35-linux2.6-x86_64。
驗證作業系統支援IPv6,此處是Linux作業系統
ping6 ::1
配置MySQL支援IPv6連線
在MySQL啟動時繫結地址,在服務啟動時使用如下引數--bind-address=addr配置,
其中addr可以是IPv4或者IPv6地址,或者主機名hostname。
修改my.cnf配置檔案,在[mysqld]選項下增加bind-address = ::配置,
把bind-address配置成::可以保證同時支援IPV4和IPV6的TCP/IP的連線。
[mysqld]bind-address = ::
重啟mysql使配置生效:
/etc/init.d/mysqld restart
建立測試使用者
使用IPv4先登陸mysql,
執行命令CREATE USER 'ipv6test'@'::1' IDENTIFIED BY '123456';
給ipv6test使用者增加執行許可權
執行命令GRANT ALL PRIVILEGES ON . TO 'ipv6test'@'::1' IDENTIFIED BY '123456' WITH GRANT OPTION;
驗證透過::1本地連線mysql資料庫
輸入命令mysql -h ::1 -uipv6test -p123456
新增"root@%"就可任意ip訪問
和IPv4時沒有區別,如果已經配置了"root@%"使用者,直接使用IPv6地址即可訪問。
grant all on
.
to root@'%' identified by 'zdh1234' with grant option;
mysql -h 2001:db8:1:0:20c:29ff:fe96:8b55 -uroot -pzdh1234
使用netstat檢視3306埠:
netstat -an | grep 3306
0.0.0.0:3306
表示監聽埠繫結IPv4,只支援IPv4地址連線
:::3306
表示監聽埠繫結IPv4和IPv6,支援IPv4和IPv6地址連線
使用jdbc連線mysql的URL
// IPv4連線URL
// String jdbcIpv4Url = "jdbc:
";
// IPv6連線URL
// String jdbcIpv6Url = "jdbc:
";
注意使用IPv6地址時,必須使用address=(protocol=tcp)(host=2001:db8:1:0:20c:29ff:fe96:8b55)(port=3306)格式,
同時上面的格式中的host也相容IPv4的格式,如下:
address=(protocol=tcp)(host=127.0.0.1)(port=3306)
所以為了同時相容IPv4和IPv6,建議使用上面的格式連線MySQL。
注意下面的連線字串可能過長:
address=(protocol=tcp)(host=2001:db8:1:0:20c:29ff:fe96:8b55)(port=3306)
會有如下報錯:
SQLException : SQL state: HY000 java.sql.SQLException: String 'address=(protocol=tcp)(host=2001:db8:1:0:20c:29ff:fe96:8b55)(port=3306' is too long for host name (should be no longer than 60) ErrorCode: 1470
可以使用簡寫版本:
address=(protocol=tcp)(host=2001:db8:1:0:20c:29ff:fe96:8b55),
或者把2001:db8:1:0:20c:29ff:fe96:8b55變為主機名hostname再填寫,
或者嘗試升級mysql版本提供更長的字元支援。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31551496/viewspace-2212512/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql之新增innodb支援MySql
- 讓MySQL支援歐元字元MySql字元
- mysql支援gbk(zt)MySql
- 如何配置Hibernate支援MySqlMySql
- mysql 支援索引字元超過 767MySql索引字元
- MySQL 支援 emoji 圖示儲存MySql
- Supported Platforms: MySQL Database MySQL安裝支援的平臺PlatformMySqlDatabase
- MySQL不支援DELETE使用表別名?MySqldelete
- mysql支援原生json使用說明MySqlJSON
- MySQL索引到底支援多少位元組?MySql索引
- MySQL8.0新特性-CTE語法支援MySql
- KunlunDB對MySQL私有DML語法的支援MySql
- Oracle & MySQL & PostgreSQL資料庫恢復支援OracleMySql資料庫
- Mysql支援的資料型別(總結)MySql資料型別
- MySQL 4.1 字符集支援的原理(轉)MySql
- MySQL 官宣:支援讀寫分離了!!MySql
- 函式計算支援 MySQL 例項繫結函式MySql
- Laravel 資料庫脫敏工具,僅支援 MySQLLaravel資料庫MySql
- MySQL 5.7新支援--通用表空間實戰MySql
- mysql支援跨表delete刪除多表記錄MySqldelete
- (2)mysql 支援的資料型別總結MySql資料型別
- mysql中文進行全文索引支援問題MySql索引
- Java 支援的資料型別與 MySQL 支援的資料型別對比Java資料型別MySql
- 【MySQL】單表支援並行匯出的工具--mydumperMySql並行
- MySQL不再支援Berkeley DB 轉而新增外掛(轉)MySql
- 臥槽:油管用MySQL支援24.9億使用者MySql
- phpstudy自帶MySQL不支援innodb解決辦法 和 更換MySQL版本PHPMySql
- 怎麼在JBoss中配置MySQL資料庫連線池讓Mysql支援中文MySql資料庫
- MySQL核心月報2014.11-MySQL· 5.7特性·高可用支援MySql
- Mysql8.0不支援grant all privileges on *.* to root@“%“ identified by “.“;MySqlIDE
- 沒有列存的MySQL千萬級分析也能支援MySql
- 智慧掃描支援從MySQL例項線上抓取慢SQLMySql
- MySQL5.6支援哪些Online DDL操作MySql
- mysql sql_safe_updates 不支援子查詢的更新。MySql
- Mysql利用Like支援根據匹配度進行查詢MySql
- ThinkPHP學習(三)配置PHP5支援MySQL,連線MySQL資料庫PHPMySql資料庫
- MySQL資料庫delete資料時,不支援表別名MySql資料庫delete
- 讓MYSQL徹底支援中文(slack10.1版)(轉)MySql