Workbench远程连接Linux服务器的MySQL数据库
背景
为了在windows中查看服务器MySQL数据库的表项,使用可视化程序Workbench来方便进行数据库测试和简单的维护。
Linux服务器为Ubuntu版本
步骤
检查镜像源
下载前请注意选择合适的镜像源,建议使用清华源(mirrors.tuna.tsinghua.edu.cn)或者阿里源(mirrors.aliyun.com),可在“软件与更新”中选择想要使用的镜像源
安装MySQL
此次安装的MySQL版本为5.7
一共需要执行三条安装命令:
sudo apt-get install mysql-server
安装MySQL数据库服务器,是数据库的核心程序sudo apt-get install mysql-client
安装MySQL数据库客户端,用来操作MySQLsudo apt-get install libmysqlclient-dev
安装数据库编程时所需要的链接库,提供C/C++进行数据库编程时可调用的API
配置环境
创建用户
数据库需要使用用户及密码来访问,刚开始只能根据MySQL的默认用户登录,默认用户需要先cd /etc/mysql
进入到指定路径中,然后执行sudo cat debian.cnf
查看内容
找到user和password对应的就是MySQL创建的默认用户名和密码。然后执行mysql -u debian-sys-maint -p
登录MySQL数据库
输入密码后显示如上图所示表示已经登录到MySQL数据库中了
然后执行alter user 'root'@'localhost' identified by '000000';
创建一个用户。其中root表示用户名,表示创建的是root用户;00000表示创建的用户密码,可以修改为自定义的值
创建完执行exit
退出数据库
然后执行sudo mysql -u root -p
输入密码即可用管理员权限登入刚刚创建的用户
执行exit
退出数据库
重新使用MySQL默认用户debian-sys-maint登入数据库
执行alter user 'root'@'localhost' identified with mysql_native_password by '000000'
让root用户使用mysql_native_password的身份验证插件进行认证。注意如果是5.7版本以上的MySQL,这里的需要将mysql_native_password修改为caching_sha2_password
执行成功后使用exit
退出数据库,之后就可以使用mysql -u root -p
输入密码登录MySQL数据库了
开启允许远程登录
使用root用户登入数据库mysql -u root -p
修改用户host值:
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
表示选择mysql,修改其中root的host值。这里的**%**表示任意IP地址/主机,也可以改为指定的IP地址
授权从任意主机登录:
mysql>grant all privileges on *.* to 'root'@'%' identified by '000000' with grant option;
mysql>flush privileges;
表示允许root用户使用密码000000从任意一台主机登录到MySQL数据库服务器。其中%可以改为指定IP地址,表示只允许root从指定的IP地址连接数据库
修改配置文件:
在终端执行cd /etc/mysql/mysql.conf.d
进入指定目录
执行vi mysqld.cnf
查看配置文件
找到变量bind-address,修改其值为0.0.0.0
然后保存退出
关闭防火墙:
在终端执行sudo ufw disable
关闭防火墙
或者执行sudo ufw allow 3306
允许所有外部主机访问3306端口(通常为访问MySQL数据库使用的端口号)
重启数据库服务:
全部修改完毕后,使用exit
退出MySQL服务器,执行sudo service mysql restart
重启MySQL服务,即可通过外部主机登录数据库了。
使用Workbench访问
点击这个按键新建数据库连接
填写数据库的相关信息。连接的名字可以任意取,不过尽量与其他数据库连接区分开;hostname填服务器的IP地址,端口号一般使用3306;username即为登录数据库使用的用户名,一般为root,密码即为用户对应的密码。填完之后确认即成功建立连接。
点击已经创建的连接即可进入到数据库中,通过Workbench即可直接操作数据库。方便进行数据库测试。