首先我要说的是,我是希望在本地虚拟机上安装一套mysql数据库,让其他机器或者本地可以远程访问。
访问方式有多种了,联调工具我用的是navicat,其实只要你保证这套mysql的安装等步骤都正确,就可以用navicat连接了。
但是安装mysql需要注意的是,目前mysql有两种打的版本,一个是5.x系列的,一个是8.x系列的,经过自己的分别尝试安装,他们的设置账号和密码权限等有所差异。
而且以后你要是用java idea开发工具等写代码连接时,也要注意这一点,因为,你本地引入的mysql connection等maven依赖包一定要和虚拟机上安装的mysql相匹配,否则会报错。
我最后选在安装8.x了,因为本地用的spring boot配置的mysql,已经是比较新的了。
具体的安装步骤,你可以参考网上的教程,其中有一篇讲的比较细致,
1.下载 MySQL 所需要的安装包
网址:https://dev.mysql.com/downloads/mysql/
2.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
3.选择 RPM Bundle 点击 Download
4.点击 No thanks, just start my download. 进行下载
5.下载好了
6.打开 VMware,选中要使用的虚拟机,点击开启此虚拟机
7.最小化虚拟机,不用管他了
8.打开 xshell,选择虚拟机 ip 所对应的会话,点击连接,这里我mac用的是filezilla连接服务器工具。
9.连接成功
10.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包
11.通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps 命令装卸 mariadb
12.通过 rpm -qa | grep mariadb 命令再次查看 mariadb 的安装包
13.通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的
14.通过 ll 命令查看一下当前目录下的目录结构
15.通过 mkdir mysql 命令 在当前目录下创建一个名为 mysql 的目录
16.通过 ll 命令查看一下当前目录下的目录结构,刚创建的 mysql 目录有了
17.通过 cd mysql 命令进入 mysql 目录
18.通过 ll 命令查看一下当前目录下的目录结构
19.点击 窗口 -->> 传输新建文件,通过 ftp 协议来把刚下载好的 mysql 安装包传输到 CentOS7 系统中
20.在左边找到你 mysql 安装包的下载目录
21.在你想要传输的文件上单机右键,点击传输
22.上传成功后,关闭 ftp 传输工具
23.通过 ll 命令查看一下当前目录下的目录结构
24.通过 tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar 命令解压 tar 包
25.通过 clear 命令清一下屏
26.通过 rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 common
27.通过 rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 libs
28.通过 rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 client
29.通过 rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安装 server
30.通过 rpm -qa | grep mysql 命令查看 mysql 的安装包
31.通过以下命令,完成对 mysql 数据库的初始化和相关配置
-
mysqld --initialize;
-
chown mysql:mysql /var/lib/mysql -R;
-
systemctl start mysqld.service;
-
systemctl enable mysqld;
32.通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
33.通过 mysql -uroot -p 敲回车键进入数据库登陆界面
34.输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的
35.通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 命令来修改密码
36.通过 exit; 命令退出 MySQL,然后通过新密码再次登陆
37.通过以下命令,进行远程访问的授权
-
create user 'root'@'%' identified with mysql_native_password by 'root';
-
grant all privileges on *.* to 'root'@'%' with grant option;
-
flush privileges;
38.通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
39.通过 flush privileges; 命令刷新修该后的权限
40.通过 exit; 命令退出 MySQL
41.通过以下命令,关闭 firewall
-
systemctl stop firewalld.service;
-
systemctl disable firewalld.service;
-
systemctl mask firewalld.service;
42.通过 yum -y install iptables-services 命令安装 iptables 防火墙
43.通过以下命令启动设置防火墙
-
systemctl enable iptables;
-
systemctl start iptables;
44.通过 vim /etc/sysconfig/iptables 命令编辑防火墙,添加端口
45.点击 i 键进入插入模式
46.在相关位置,写入以下内容
-
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
47.点击 ESC 键退出插入模式
48.点击 : 键,输入 wq 敲回车键保存退出,: 为英文状态下的
49.通过 systemctl restart iptables.service 命令重启防火墙使配置生效
50.通过 systemctl enable iptables.service 命令设置防火墙开机启动
51.通过 ifconfig 命令查看 ip
注意的点:
1:其实里面你跟着做,可能会遇到一些问题,就是,你在你的虚拟机上安装centos系统可能是比较阉割版的,有很多命令没有,你需要自己安装对应的指令。
2:关于防火墙那块,需要把-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 这种语句加入,否则防火墙没有放开,你肯定连不上。
3:还有就是你虚拟机的ip查看等方式,还有你的虚拟机允许外网访问的配置,你可以自行解决,最后通过ping一下百度,看看是不是能ping通,就ok,这块也有坑,注意自己解决。
4:设置账号密码的操作,比较重要,否则你不可能连到mysql,第一次安装完,有默认密码,等查询方式需要注意,
cat /var/log/mysqld.log | grep password 之后进入
你可以通过下面的命令,授权远程访问权限。
-
create user 'root'@'%' identified with mysql_native_password by 'root';
-
grant all privileges on *.* to 'root'@'%' with grant option;
-
flush privileges; 通过这个你还可以自己创建新的账号和密码,这个你自己尝试。
5:最后进入mysql 方法:mysql -u 账号 -p 之后输入对应密码
6:查询你的账号等,可以用命令;首先切入到 mysql数据库(这个是默认的)
select user,host from user; 查一下即可:
7:启动mysql的 我用的是service mysqld start命令 service mysqld status 、service mysqld stop等。
其他的有什么问题,网友可以随时咨询我,我因为这个安装mysql里面遇到很多坑,都是自己解决的,慢慢来,一定成功。
最后,用java学代码:配置yml文件如下:我用的是druid连接池连接的,你用其他的连接池也行,用tomcat-jdbc也行。
连接成功后,打印出你的接口。具体工程代码,就不展示了。