1、搭建数据库
1、安装MySQL
sudo apt install mysql-server-5.7
# (建议安装5.7版本,该版本稳定且兼容性强)
注:安装过程中,会提示输入root用户的密码,输入结束后回车;会再次提示一个确认密码,输入后回车,等待安装。(自己使用就设置密码为root,方便易记)。
2、安装结束后进入mysql的指令:
mysql -u root -p
#也可以使用下面命令行登录
mysql -u root -p root
#-u root 代表用户名
#-p root 代表密码
# 所以这种命令行登录一般不使用,不安全,密码是显示出来的
会提示输入密码(输入root用户的密码,成功后进入mysql)
下图显示为成功安装的效果:
2、数据库远程登录设置
默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要进行以下操作:
需要修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
$ sudo vim mysqld.cnf
进行修改文件bind-address = 0.0.0.0
在连接服务器后,操作mysql系统数据库,命令为:
# 登录
mysql -u root -p
# 切换到mysql数据库
user mysql;
查询用户表命令:select User,authentication_string,Host from user; (这里也可以看出host默认都是localhost访问权限)
创建可以访问的用户名即密码
GRANT ALL PRIVILEGES ON *.* TO '可以访问的用户名'@'%' IDENTIFIED BY '密码';
%代表所有主机,也可以具体到你的主机ip地址
这一步一定要做,不然无法成功!
刷新权限: flush privileges;
这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
执行完这两步,再次查询用户表命令:
select User,authentication_string,Host from user;
重新启动mysql服务,测试mysql远程连接成功:
注意:还需要先关闭Ubuntu防火墙,再开启数据库的端口允许。
#关闭防火墙
sudo ufw disable
#查看防火墙状态
sudo ufw status
#允许/拒绝端口20
ufw allow/deny 20
# 外来访问默认允许/拒绝
ufw default allow/deny
# 删除以前定义的"允许/拒绝访问20端口"的规则
ufw delete allow/deny 20
# 允许自10.0.1.0/10的tcp封包访问本机的25端口。
ufw allow proto tcp from 10.0.1.0/10 to 本机ip port 25
此时配置完成,可以测试数据库连接情况。
# mysql -h 主机地址 -u 用户名 -p 用户密码
mysql -h 172.16.77.15 -u root -p 123
需要注意的是:远程访问的时候需要先把虚拟机的数据库连接打开,否则同样访问不了。
3、图形化显示
使用SQLyog软件进行数据库图形化显示;如下图:
登录成功!
需要注意的是:远程访问的时候需要先把虚拟机的数据库连接打开,否则同样访问不了。即: