阿里云最近搞活动,学生价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服务,
在终端输入以下指令:
localhost:~ info$ ssh root@123.456.789.123
会显示:
root@123.456.789.123's password:
熟悉Linux系统的朋友都知道,输密码是不会显示的,所以这里要输入你在买服务器时,设置的登录服务器的密码,输入完成之后会显示:
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里面
所以通过以下的指令去查看密码:
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的远程连接权限
root@iZ28wfqwhqyZ:~# mysql -h 127.0.0.1 -u root -pdatabasePassword
输完这个你应该会看到:
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,注意看最后一行;
mysql>use mysql;
mysql>update user set host = ’%’ where user = ’root’;
如果出现
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
说明已经存在host是%的了;
MySQL> select host from user where user = 'root';
显示:
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
继续输入:
MySQL>flush privileges;
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险–摘自百度知道–回答者:talorkitty
OK 此时已经修改了MySQL的远程连接权限,远程登录吧~