web项目的部署操作,可以浏览我的另一篇博客,本文主要针对MySql数据库的一些问题
1.安装Mysql
方法一:MySql官网下载数据库,上传到Linux服务器;
方法二:也可以采用yum安装
2.安装好之后,总命令行输入 mysql_secure_installation,进行一些配置,内容如下:
a)为root用户设置密码
b)删除匿名账号
c)取消root用户远程登录
d)删除test库和对test库的访问权限
e)刷新授权表使修改生效
执行之后systemctl restart mysqld
命令可以正常执行了
3.用root登陆mysql mysql -uroot -p
第一次不进行2操作的话,可以直接回车就登陆mysql了,但是如果进行了2配置,则需要输入新的密码
4.虽然使用ssh root@ip 登陆远端linux服务器,也可以登陆mysql,但是奇怪的是我的打包的java war 包项目部署到Linux的Tomcat的webapps下时,访问出现问题,虽然页面可以访问到,但是只有涉及数据库的操作,都无法实现,百般周折之后才得知是因为:
MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.
接下来解决此问题
5.解决办法
5.1 给root用户授权
给mysql的用户设置权限,首先登陆mysql,然后给root用户配置所有的权限
如果出现了1819错误,这个其实与validate_password_policy的值有关。如果没有次错误请飘过
validate_password_policy有以下取值:
Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
mysql> select @@validate_password_length; 查看密码长度
5.2密码长度解决之后,接下来如果你出现如下错误3009,该错误是密码正确
错误是由于你曾经升级过数据库,升级完后没有使用
mysql_upgrade升级数据结构造成的。
解决办法:
使用mysql_upgrade命令
root@localhost ~]# mysql_upgrade -u root -p 13456
5.3都ok了之后,继续登陆mysql,继续刚才的授权