ubuntu安装Mysql配置远程连接
Mysql的安装非常简单,安装之前你只要了解基本的sql语句就OK。
第一步:安装mysql
Ubuntu 中最新版本的 MySQL 包含在apt软件包服务器中,只需更新包索引并安装默认版本 :
sudo apt-get update
sudo apt-get install mysql-server
安装过程中会要求输入mysql root账户密码,然后其他的都是自动完成。
第二步:配置mysql
sudo mysql_secure_installation
配置有好几项:
第一项是修改root密码,密码对强度有要求,根据个人的选择,太弱的密码将无法通过。
第二项是删除匿名账户,确认y。
第三项是只允许root账户连接localhost,从而禁止远程登录,否认n。
第四项是删除mysql自带的test数据库,确认y。
最后一项是加载权限列表,使数据表的操作立即生效,确认y。
配置完成后,mysql服务就已经启动了。
第三步:检查mysql状态
systemctl status mysql.service
看到以下信息,表示服务启动成功。
第四步:配置远程访问
在Ubuntu下MySQL默认是只允许本地访问的,因此在远端使用workbench是连不上的,必须修改相应配置。
4.1 root账户登录:
sudo mysql -u root -p
4.2 新建数据库和远程登录用户
数据库的操作是高风险的,一定要控制权限,永远不要使用root账户直接远程。
用root账户为远程访问的人员分配账户和数据库,新建立用户,密码强度也要满足要求。
# 创建数据库d_student
CREATE DATABASE d_student;
# 创建用户jeg(密码xxxxxx)并赋予其数据库d_student的所有权限
# %表示任意ip地址,即允许用户jeg可以从任意机器上登入mysql
GRANT ALL PRIVILEGES ON d_student.* TO [email protected]"%" IDENTIFIED BY "xxxxxx";
# 创建只有select权限的账户tang
GRANT SELECT ON d_student.* TO [email protected]"%" IDENTIFIED BY "xxxxxx";
4.3 查看系统用户
use mysql
# 查看user,host数据
SELECT user,host FROM user;
可以看到新添加的jeg对应的host为%,即允许jeg使用任意ip登录,这样就不受用户的ip地址限制了。
# 查看用户拥有的权限
SHOW GRANTS FOR 'usr'@'%';
# 查看新分配的数据库是否添加成功
SHOW DATABASES;
4.4 查看mysql的端口
# 通常情况下端口是3306
SHOW GLOBAL VARIABLES LIKE 'port';
4.5 检查网络连接
# 检查参数:skip_networking, on:只能单机 off:允许网络连接
SHOW VARIABLES LIKE '%skip_networking%';
# 退出mysql
eixt
4.6 取消mysql默认的本地地址绑定
cd /etc/mysql/mysql.conf.d
vim mysqld.cnf
注释掉bind-address项
# 重启mysql
sudo service mysql restart
# 查看状态
systemctl status mysql.service
# 查看3306是否开启
netstat -tunlp | grep 3306
最后,稍等片刻,远端机器cmd检查telnet ip 3306看一下,能够连通,就可以远程登录了。
安装windows的mysql客户端,使用刚刚分配的用户,访问3306端口,远程操作数据库走起。
------over------