一、购买
二、安全组配置
在阿里云购买需要开启安全组设置
三、更改实例名称和密码,重启服务器
四、下载xshell和xftp
https://www.xshell.com/zh/thank-you-download/
五、新购买的服务器需要重置实例密码
六、使用xshell访问服务器
六、阿里云安全组开放端口
六、安装宝塔面板
安装成功可以看到面板访问地址和用户名密码
六、软件商店安装
mysql
nginx
apache
tomcat
七、mysql配置
点击 配置修改,并找到[mysqld],在最后一行加上“skip-grant-tables”。最后保存并重启mysql服务。
skip-grant-tables:非常有用的mysql启动参数(不启动grant-tables授权表)
xshell
输入mysql 直接回车
就可以进入了
现在配置自己的密码
看一下默认的
改了
发现已经变了
flush privileges; 表示刷新权限。也就是刚刚该的密码。
现在密码就修改成功了
最后,一定要把添加到配置中的skip-grant-tables删除掉,然后重启mysql
以上是mysql5版本的修改方式,mysql8版本废弃了password字段和password()函数,所以要使用一下方式来解决:
select authentication_string,user from user;
看一下初始密码是否为空,如果不为空,先把他设为空再修改,为空的话,就直接修改。(一般情况下不为空)
#将密码清空
update user set authentication_string='' where user='root';
#设置密码为1314
ALTER user 'root'@'localhost' IDENTIFIED BY '1314';
如果此时报错
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
那就执行下面这个语句
flush privileges;
然后再次执行修改密码的那条语句,就可以成功执行了
#设置密码为1314
ALTER user 'root'@'localhost' IDENTIFIED BY '1314';
如果密码一开始就是空的,那就直接执行这个语句就可以了,不过一般他都是会有默认密码的
可以提前查看一下
select authentication_string,user from user;
接下来就要配置mysql远程访问了
首先看一下当前的用户权限
可以看到 root用户只有本地权限,可以把这个本地权限改为% 就是所有人都可以通过用户名密码访问
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
但是这样的话,我感觉不是很很安全
所以可以限定ip
GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
修改完成后
flush privileges;
再查看一下,已经有了
如果没有或者失败,那就是用的是mysql8,不支持这样直接创建加授权了,所以需要先创建再授权,后面有
远程访问测试一下
现在就可以在我指定的这个ip下通过用户名和密码远程访问这个数据库了。
总结只有两部分,一部分就是修改一下自己的数据库密码,另一部分就是配置一下远程访问权限。
但是这个ip一旦改变,就很麻烦,而且好像所有这个ip的又都能访问,所有为了不麻烦又相对安全一点,我暂时采用下面这种方法
使用自定义的用户名和密码,把权限放开,给到所有用户
这样,无论何时何地,只要知道这套用户名密码就能访问;写代码测试的时候,连接就用这个自定义的用户,发布到服务器的时候,就用root用户,root用户只有本地权限。
mysql8
#创建用户名密码和访问限制
create user 'youname'@'%' identified by 'yourpassword';
#查看一下创建成功了没有
select host, user,authentication_string from user;
#给youname这个用户授予所有的权限在所有的数据库上
grant all on *.* to 'youname'@'%' ;
#刷新
flush privileges;
如果是mysql5 ,直接用上面的创建用户加授权即可
mysql这块写的比较乱,后面有时间了再单独整理,反正大概意思对,能用 ( ̄ェ ̄)
八、webApp部署
使用idea将SSM项目打包成war包
https://blog.csdn.net/fyydashen/article/details/108716092
然后通过xftp把他丢到服务器的Tomcat的webapps目录下,刷新一下,就会自动解析出文件夹,就可以正常访问了,如果有问题,可能是阿里云的安全组没设置或者系统防火墙为开放端口,可以在宝塔面板的安全里面设置。