系统环境:
Ubuntu Server 14.04.01 LTS 64 位
DataGrip 2016.2
前言
为了完成作业,不让服务器闲置,决定把数据库放在远程。免去本地配置的麻烦,这次的配置是基于腾讯的学生云,系统选择的是 Ubuntu Server 14.04.01 LTS 64 位,顺便学习下命令行操作。
步骤
安装和配置的步骤比较详细,如果你已经安装过 MySQL 可以跳过相应章节。
配置服务器安全组
服务器的安全组可以在腾讯云上修改、配置。因为 MySQL 默认远程访问端口为 3306,因此,我们至少要开放该端口。这里由于我的服务器仅供折腾,所以开放了所有端口,实际使用的服务器应当考虑到相应的安全问题。
设置服务器 root 账户密码
在后面的使用中,我们需要 root 账户的权限,因此需要设置 root 账户的密码。腾讯云默认会提供一个 ubuntu 账户,在装系统时可以设置密码。
使用 ubuntu 账户登录服务器(0.0.0.0 替换为你的服务器 IP)。
ssh ubuntu@0.0.0.0
登录成功后,设置 root 账户密码。
sudo passwd
你需要先输入 ubuntu 账户密码,之后设置 root 账户密码。
安装 MySQL
安装时,若提示 Do you want to continue? [Y/n] 输入 Y 即可。在 MySQL 快安装完毕时,会跳出设置 root 密码的界面。该 root 为数据库的用户,而非服务器账户。注意区分和记忆密码。
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装完成后,尝试连接 MySQL,使用 root 用户验证是否安装成功。
mysql -u root –p
配置 MySQL 远程访问
查看 3306 端口状态,在 MySQL 安装成功,但没有配置远程访问时,会显示 127.0.0.1:3306。
netstat -an|grep 3306
为保证安全,首先停止 MySQL。
service mysql stop
切换为 root 账户。
su root
使用 vim 打开 my.cnf。
vim /etc/mysql/my.cnf
将 bind-address = 127.0.0.1 注释。
# bind-address = 127.0.0.1
保存并退出后,启动 MySQL。
service mysql start
查看 3306 端口状态,现在应当显示 0.0.0.0:3306。
netstat -an|grep 3306
新建用户并授权
# 创建 kingcos 用户,设置密码为 123456
CREATE USER kingcos IDENTIFIED BY '123456';
# 授权
GRANT ALL PRIVILEGES ON *.* TO 'kingcos'@'%'
IDENTIFIED BY '123456'
WITH GRANT OPTION;
# 更新权限
FLUSH PRIVILEGES;
尝试远程访问
这里以 JetBrains 的 DataGrip 2016.2 为例。
如图,即连接成功。