mysql ssl 登陆_MySQL:SSL远程登录
环境:linux mint 15
安装openssl:
sudo apt-get install openssl
查看mysql的ssl是否开启了(在mysql 命令行中):
show variables like '%ssl%'; 若没开启则`have_openssl`和`have_ssl`选项的值为DISABLED。
生成证书(在mysql server主机下):
建议在/etc/mysql建立目录certs:
# cd /etc/mysql/
# mkdir certs
# cd certs
# openssl genrsa 2048 > ca-key.pem
# openssl req -new -x509 -nodes -days 1095 -key ca-key.pem -out ca-cert.pem
# openssl req -newkey rsa:2048 -days 1095 -nodes -keyout server-key.pem -out server-req.pem
# openssl rsa -in server-key.pem -out server-key.pem
# openssl x509 -req -in server-req.pem -days 1095 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem 注意,如果`sudo openssl genrsa 2048 > ca-key.pem`的话会提示权限不够。
之后修改mysql服务器主机下的配置文件:
# vim /etc/mysql/my.cnf 在`[mysqld]`后添加:
ssl
ssl-cipher=DHE-RSA-AES256-SHA
ssl-ca=/etc/mysql/certs/ca-cert.pem
ssl-cert=/etc/mysql/certs/server-cert.pem
ssl-key=/etc/mysql/certs/server-key.pem 重启mysql,进入mysql命令行`show variables like '%ssl%';`看到:
+---------------+----------------------------------+
| Variable_name | Value |
+---------------+----------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/mysql/certs/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql/certs/server-cert.pem |
| ssl_cipher | DHE-RSA-AES256-SHA |
| ssl_key | /etc/mysql/certs/server-key.pem |
+---------------+----------------------------------+
配置
mysql client
:
将ca-cert.pem拷贝到mysql client主机下的/etc/mysql/certs目录下,打开client下的my.cnf,在`[client]`后添加:
ssl
ssl-cipher=DHE-RSA-AES256-SHA
ssl-ca=/etc/mysql/certs/ca-cert.pem 重启client下的mysql。
开始远程登录吧:
在server 主机上为mysql建立一个新的用户:
GRANT ALL ON *.* TO 'ssl-user'@'%' identified by '123456' REQUIRE SSL;
flush privileges; 然后在client登录:
mysql -h -u ssl-user -p
mysql> \s
mysql> status \s和status作用相同,我们应该会看到:
SSL: Cipher in use is DHE-RSA-AES256-SHA
如果client的my.cnf没有配置好,是无法使用ssl-user用户登录server的。
使用navicat
常规方法就不说了。
1、使用SSH
注意在“常规”选项卡中,主机名或者ip地址是localhost,连接名自定义,用户名和密码是mysql server的user和对应的密码。
在“SSH”选项卡中,主机名是mysql server的ip,用户是mysql server所在主机的用户名。mysql server所在主机必须开启ssh服务。
2、使用SSL
“常规”选项卡中的ip要改为server的ip,用户名本身应有“REQUIRE SSL”属性。
在“SSL”选项卡中,选中“使用SSL”,别忘了取消选中SSH。这时候可以正常连接,但是若选中“使用验证”并添加相应ca,死活没连上(不做讨论)。
3、使用HTTP
需要将navicat目录下的ntunnel_mysql.php拷贝到mysql server主机上的支持php的网站目录中(如/var/www)。通道地址即为该php文件的网络url。用户和密码是数据库的用户及其密码。
一些资料:
[Simplified MySQL SSL connections](http://www.mysqlfanboy.com/2011/11/simplified-mysql-ssl-connections/)
[6.3.6. Using SSL for Secure Connections](http://dev.mysql.com/doc/refman/5.0/en/ssl-connections.html)
[6.3.7. Connecting to MySQL Remotely from Windows with SSH](http://dev.mysql.com/doc/refman/5.0/en/windows-and-ssh.html)
mysql ssl 登陆_MySQL:SSL远程登录相关推荐
- mysql拒绝访问root用户_设置mysql的root用户允许远程登录
设置MySQL的root用户允许远程登录 连接数据库 [root@localhost ~]# mysql -uroot -p密码 选择mysql数据库 mysql> use mysql; 设置访 ...
- MySQL数据库开启root用户远程登录
MySQL数据库开启root用户远程登录 如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host 192.168.0.10 is not allowed to ...
- mysql 远程登录_MySQL实现远程登录的方法
原因分析: Host 'Local' is not allowed to connect to this MySQL server 典型的远程权限问题. 问题症结: MySQL 没有开放远程登录的权限 ...
- mysql 网络远程登录_mysql实现远程登录
CentOS7上安装mysql后,想要实现mysql远程登录. 主要解决二个问题:(1)为mysql用户授予远程登录权限(改表法或授权法):(2)防火墙开放3306端口. (一)授予登录权限 mysq ...
- linux安装mysql允许外部访问权限_Linux yum 安装mysql以及进行授权允许远程登录
一.安装查看有没有安装过 yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: y ...
- ubuntu 打开ssh登陆_Ubuntu 开启远程登录 SSH 的安装和配置
SSH 为 SecureShell 的缩写,由 IETF 的网络工作小组(NetworkWorkingGroup)所制定:SSH 是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全 ...
- mysql 无法登陆_MySQL root用户无法登录原因及解决办法
MySQL root密码正确,却怎么也bai无法du从本地登录MySQL登录提示ERROR 1045 (28000): Access denied for user 'root'@'localhost ...
- mysql可连接_mysql开启远程可连接
1.打开cmd窗口,进入MySql安装的bin目录 2.执行命令登录数据库,之后会出现一行要你输入密码的 mysql -u root -p 3.执行以下命令分配新用户: grant all privi ...
- mysql 本地连接_mysql开启远程连接及本地连接
问题描述 在本机windows上连接linux服务器上的mysql报错:host'XXX' is not allowed to connect to this mysql server. 这个错误是由 ...
最新文章
- 最新DynamipsGUI2.8[模拟器]发布!(中文版-英文版下载)
- c#与halcon模板匹配控制EPSON四轴机器人输出旋转角度
- ssh暴力破解解决方案
- linux 0x00,linux 学习笔记0x00
- IMP出现的ORA-01401错误可能和字符集有关(转载)
- 精品书籍-go go go
- Spark家族:Win10系统下搭建Scala开发环境
- 使用getApplication()作为上下文的对话框抛出“无法添加窗口-令牌null不适用于应用程序”
- 吴军-《智能时代》-简介
- baacloud苹果_Baacloud手机客户端下载
- mac电脑安装mysql
- numpy的choose 函数实现条件筛选
- 网络空间安全——2021软科中国大学专业排名
- Android分享wifi给电脑,使用Android手机共享手机网络给PC上网
- 苹果应用审核注意事项
- HTML5滑动(swipe)事件,HTML5教程 滑动(swipe)事件学习
- vue聊天功能模块(五)pre标签使得消息表情换行
- 计算机专业优势及就业前景,女生学习计算机专业的优势及就业前景
- 性感荷官在线发牌,真的靠谱吗?
- 云服务器的“弹性”体现在哪?
热门文章
- 黑鲨科学计算机,科学技术篇:玩家注意黑鲨一口气发布两款重磅新品
- 全国志愿信息服务器,全国志愿者服务信息系统官网登录,2020全国志愿者服务信息系统官网登录注册入口预约 v1.0-手游汇...
- python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...
- 第十篇学会编写python代码_Python之路,第十篇:Python入门与基础10
- windows下重启mysql数据库_windows下重启mysql的方法
- java 重复start,iText中带有“start”属性的有序列表[重复]
- android xml opacity,Android Drawable详解
- python抽奖游戏_python实现转盘效果 python实现轮盘抽奖游戏
- python读取字符串的list dict_转:Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...
- 下午花一小时整理的JVM运行时方法区