您的位置:首页 > 数据库 > MySQL

远程连接阿里云MySQL数据库

2015-11-27 14:25 603 查看
阿里云最近搞活动,学生价10块一个月,于是乎找研究僧同学买了半年玩玩。

正常情况下买了服务器之后还要买数据库,但是我只是用来做测试,所以没必要再买几十块一个月的买数据库。

服务器我买的是市场镜像并且已经装好了Ubuntu+MySQL+Apache+PHP环境,所以就想着和在本地开发一样,有了MySQL就没必要再单独买数据库。

OK,实现做一些声明吧:

1.我是用的是Mac的OS X EI Captian系统,版本:10.11.1

2.所有链接以及操作均在终端完成

3.鉴于一些原因,

服务器地址为:123.456.789.123

数据库密码为:databasePassword

实例名(也就是登陆远程服务器之后的系统名字):iZ28wfqwhqyZ

再啰嗦一下,远程登录数据库无非需要三个数据:数据库所在的IP,登陆数据库的账号,登录密码。

并且在登录前确定远程的数据库开启了远程连接。

下面粗略说说我从买完服务器到连接数据库成功的过程:

1.连接远程服务器:

这里我在终端用ssh连接,因为Mac系统自带了ssh服务,

在终端输入以下指令:

[code]localhost:~ info$ ssh root@123.456.789.123


会显示:

[code]root@123.456.789.123's password:


熟悉Linux系统的朋友都知道,输密码是不会显示的,所以这里要输入你在买服务器时,设置的登录服务器的密码,输入完成之后会显示:

[code]Welcome to aliyun Elastic Compute Service!

Last login: Fri Nov 27 13:40:57 2015 from 123.456.789.123
root@iZ28wfqwhqyZ:~#


2.获取MySQL的账号及密码

初次使用的时候,MySQL的密码放在/alidata/account.log里面

所以通过以下的指令去查看密码:

[code]root@iZ28wfqwhqyZ:~# cd /alidata
root@iZ28wfqwhqyZ:/alidata# vim account.log
##########################################################################
# 
# thank you for using aliyun virtual machine
# 
##########################################################################

FTP:
account:与本次无关
password:与本次无关

MySQL:
account:root
password:databasePassword


记住这个账号密码,作为远程登录数据库的账号密码。

退出vim编辑器。

3.修改MySQL的远程连接权限

[code]root@iZ28wfqwhqyZ:~# mysql -h 127.0.0.1 -u root -pdatabasePassword


输完这个你应该会看到:

[code]Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.5.37-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>


这表示你进去了MySQL,注意看最后一行;

[code]mysql>use mysql;   
mysql>update user set host = ’%’ where user = ’root’;


如果出现

[code]
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'


说明已经存在host是%的了;

[code]MySQL> select host from user where user = 'root';


显示:

[code]+-----------------------+ 
| host | 
+-----------------------+ 
| % | 
| 127.0.0.1 | 
| localhost.localdomain | 
+-----------------------+ 
3 rows in set (0.00 sec)


继续输入:

[code]MySQL>flush privileges;


flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险–摘自百度知道–回答者:talorkitty

OK 此时已经修改了MySQL的远程连接权限,远程登录吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: