阿里云服务器搭建(二)--mysql配置+部署web项目

阿里云服务器搭建(一)java环境配置+tomcat配置

阿里云服务器搭建(二)--mysql配置+部署web项目


四、linux下配置mysql

1、安装mysql

安装方式有两种,一种可以使用 yum 来安装 mysql。一种是到官网下载安装包后上传解压安装。

这里我使用的是yum来安装的

首先检查一下本机上面是否安装有mysql(我的并没有安装过mysql):rm -qa | grep mysql

图2-1

PS:如果安装了, 普通删除模式 rpm -e mysql

查看有没有安装mariadb,都没有,很好,开始安装mysql,我们需要安装三个东西如图2、3、4:

①安装MySQL官方的Yum Repository

# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

②下载rpm包

# yum -y install mysql57-community-release-el7-10.noarch.rpm

③安装MySQL服务

# yum -y install mysql-community-server

图2-2
图2-3
图2-4

启动mysql服务(注意:是mysqld哦),但是我这里报错了:

# systemctl start mysqld.service

图2-5

从图5的信息上看,我们可以输入命令systemctl status mysqld.service或者 journalctl -xe查看错误信息。

图6为输入命令 journalctl -xe 看到的信息。从报错信息可以看出来,是配置目录里面有东西。

图2-6

需要进入到配置文件里面,查看数据目录是什么

vi /etc/my.cnf 

图2-7

再启动mysql,没问题了。

图2-8

使用命令 # service mysqld status 或者 # service mysql status 命令来查看mysql 的启动状态

如果是 mysqld is stopped 那就说明mysql服务是停止状态,

如果是 mysqld is running 那就说明mysql服务是启动状态

图2-9

2、设置 mysql 开机自启

为什么要设置呢?因为每次关机重启后,mysql 服务都会被停止,处于 stop 状态,这时要使用 mysql,就得执行 service mysqld start 命令,比较繁琐,所以设置一下开机自启,可以减少麻烦。

systemctl enable mysqld

# systemctl daemon-reload 刚刚配置的服务需要让systemctl能识别,就必须刷新配置

图2-10

3、设置mysql密码

执行以下命令,查找到初始临时密码后,登陆mysql:

#grep 'temporary password' /var/log/mysqld.log 

图2-11

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图12: 

图2-12

通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';

图2-13

validate_password_policy:密码策略,默认为MEDIUM策略 

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 

validate_password_length:密码最少长度 

validate_password_mixed_case_count:大小写字符长度,至少1个 

validate_password_number_count :数字至少1个 

validate_password_special_char_count:特殊字符至少1个 

上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

图2-14

修改密码策略

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

validate_password_policy=0

图2-15

如果不需要密码策略,在my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

找到临时密码后,登陆,然后设置新的密码:

登陆mysql:mysql -u用户名(一般为root) -p临时密码【比如我的就是:mysql -uroot -pjCjIdBpqB3+A

注意-p后面紧接着密码

然后在修改密码:alter user root@localhost identified by '你要修改成的密码';

图2-16

4、删除

至此设置完成,但还有一点小问题,因为安装了Yum Repository,以后每次操作yum都会自动更新需要卸载它。

图2-17

5、配置远程登录:

MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。

# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION;

库名:要远程访问的数据库名称,所有的数据库使用“*” 

表名:要远程访问的数据库下的表的名称,所有的表使用“*” 

用户名:要赋给远程访问权限的用户名称 

IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%” 

密码:要赋给远程访问权限的用户对应使用的密码

图2-18

冲刷权限

# flush privileges;

图2-19

注意:(这一段我没有用到,看看就好q^q)

需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

图2-20

这时使用navicat连接,依然失败。因为我们需要在服务器端添加3306端口

图2-21

6、添加3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

命令含义: 

--zone #作用域 

--add-port=80/tcp #添加端口,格式为:端口/通讯协议 

--permanent #永久生效,没有此参数重启后失效 

图2-22

结果说没有运行防火墙,在之前的安装tomcat的时候,我将防火墙打开了,现在需要关闭防火墙了。并且之前配置tomcat时打开的端口,需要再次设置。

首先,将防火墙打开:

# systemctl status firewalld  查看防火墙状态

# systemctl start firewalld  打开防火墙

图2-23

然后再输入那个开放3306端口的命令就行了

再重启防火墙

firewall-cmd --reload  重启防火墙

图2-24

查看端口监听状态:netstat -an|grep 3306

如果显示不是如上图所示,则需要修改配置文件。找到my.cnf,一般在/etc/mysql/下面,具体情况根据实际而定。注释掉其中的bind-address属性。如下

图2-25

7、MySQL设置utf8:

打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

图2-26

查看:

图2-27

PS:采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci

如果在运行sql语句时,出现以下问题:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

原因:

MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”)。

解决办法:

打开: /etc/my.cnf

滚动到文件底部复制并粘贴

[mysqld]

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

也可以:

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

到文件的底部

保存并退出输入模式

图2-28

重启MySQL:systemctl  restart mysqld.service

8、开启阿里云安全组端口策略

登陆阿里云,进入控制台,网络和安全->安全组->配置规则(和之前的步骤一样)将MySQL监听端口开放即可,如下:

图2-29

再用navicat连接就可以了

图2-30

配置文件的说明:

/etc/my.cnf 这是mysql的主配置文件

/var/lib/mysql mysql数据库的数据库文件存放位置

/var/log mysql数据库的日志输出存放位置

五、部署项目

1、导出导入数据

由于是新服务器,上面没有数据,作为一个web项目,肯定是有数据库的使用的。所以第一步是将本地数据导入。

在本地的windows系统下,按键“win”+r 进入cmd命令,切换到mysql安装目录下,我的mysql路径为:C:\Program Files\MySQL\MySQL Server 5.7\bin

导出数据库:mysqldump -u [用户名] -p  [要导出的数据库]>[导出的路径//[文件名].txt]

如我输入的命令行:mysqldump -u root -p jyb > jyb.txt   (输入后会让你输入进入MySQL的密码)

图2-31

然后使用xftp将文件上传至服务器

图2-32

在xshell中,登陆mysql,创建数据库:create database jyb;

直接使用source [所在的路径//*.txt] 将文件进行导入

图2-33

查看数据库:show databases;

图2-34

2、打war包

我用的是idea。

图2-35

将打好的war包上传至服务器tomcat的webapps下:

图2-36

至此,就可以使用啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容