centOS的mysql和tomcat的装置配置
分类:pc28.am神测网

本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录;

  CentOS 7随着MySql的开始收费,已经不再内置mysql,现在内置的是MariaDB,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。我们在这里通过yum来安装mysql。

安装环境:
CentOS 7 64位 mini版本

安装 MySQL

下载 MySQL 源安装包,可以下载到本地,再上传到服务器

图片 1

也可以直接使用 wget 直接下载

wget

图片 2

安装 mysql 源

yum -y install mysql57-community-release-el7-11.noarch.rpm

安装 mysql

yum -y install mysql-community-server

图片 3

环境、工具、准备工作

  • 服务器:阿里云CentOS 7.4.1708版本;
  • 客户端:Windows 10;
  • SFTP客户端:FileZilla;用来进行文件传输;
  • SSH工具:Putty;用来在Windows 上远程访问CentOS;
  • 下载文件;

因为最新的CentOS7放弃了对MySQL的支持,所以需要我们到MySql官网下载mysql的repo源(官方地址)默认下载第一个就行;

图片 4

 

第一步:修改matiadb

配置YUM源

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

图片 5

设置 MySQL

开始安装MySql8.0

1.环境初始化

使用putty连接阿里云CentOS;并根据相关提示输入账户密码登录即可(建议以root权限登录)如下图:

图片 6图片 7

如果服务器原来有安装MySQL请先卸载清除;

使用下面命令查找出当前服务器安装的MySql的安装和依赖包名称;如果你的阿里云是新的,请跳过删除环节;

rpm -pa | grep mysql

图片 8

使用删除命令依次删除上面命令查询出的结果;我的服务器是新的,所以并没有安装和依赖包;

yum remove mysql-xxx-xxx

mysql-xxx-xxx 指的是你用rpm -pa | grep mysql查询出来的结果的完整名称;

用如下命令查找到配置文件所在路径;

find / -name mysql

因为是新服务器,所以并没有过多的配置信息;

图片 9

删除命令,根据你服务器具体情况判断是否使用;

rm -rf /xxx/xxx/xxx

/xxx/xxx/xxx指的是你用find / -name mysql查询的完成目录路径如:/etc/selinux/targeted/active/modules/100/mysql;
网上很多资料说需要删除mariadb,阿里云的CentOS并没有集成,所以不需要删除mariadb,如你环境需要,请自行百度;

2.安装MySql8.0

使用putty或FileZilla工具将你下载的mysql repo文件上传到Centos系统/usr/local/mysql文件夹下;

putty上传如下:

pscp mysql源文件的物理地址 root@xxx.xxx.xxx.xxx:/usr/local/mysql/

putty请在Windows的命令行工具中使用pscp命令上传; xxx.xxx.xxx.xxx指的是阿里云的服务器地址,mysql的源文件地址是下载到你本机的物理地址;

图片 10

FileZilla工具上传如下图:

图片 11

使用命令行安装MySql yum repo文件,并更新缓存信息;

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

图片 12

使用以下命令清理缓存和临时文件;

yum clean all

使用命令安装MySql:

yum install mysql-community-server

等候网络下载安装MySql;如果有Is this ok [y/N]: 提示 输入y就行;

用命令开启MySQL服务

systemctl start mysqld.service

成功启动MySQL服务后,用命令打开/var/log/mysqld.log文件;MySQL安装后会默认创建一个root@locahost账户,并把原始密码存放在mysqld.log文件中;

cat /var/log/mysqld.log | grep password

图片 13

用上面的密码登录MySql;

mysql -u root -p

图片 14

请注意大小写及特殊字符;如果有提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)表示你密码输入不正确;

登录成功的第一件事当然是修改密码了;

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

此处要注意MySQL8.0 修改了密码规则,必须要有大小写,数组及特殊字符组成;

提示Query OK, 0 rows affected (0.08 sec)表示修改成功;可以quit命令重新登录试试;使用如下命令查询我们的MySql是否安装正确;

select version();

图片 15

看到这里,恭喜,你已经成功的将MySql安装到了阿里云CentOS7上;

3.使用MySql管理工具访问MySql

我使用的是SQLYog工具,导航猫的配置也一样;

使用命令开启CentOS的防火墙;

systemctl start firewalld.service

开放MySql 3306端口;

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

重启firewall

systemctl restart firewalld.service

将MySql服务加入到开机启动项,并重启MySql服务;

systemctl enable mysqld.service
systemctl restart mysqld.service

此时你还无法使用工具访问MySql,会提示2003错误;因为MySQL默认是不能进行远程访问的,需要我们去设置,操作如下:

mysql -u root -p;
use mysql;
update user set host='%' where user='root';

授权MySql远程访问;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

现在我们尝试使用工具去连接MySql还是会提示2003错误;各种百度后发现是阿里云安全规则限制;

修改阿里云的安全规则,开放3306端口;

图片 16

再次尝试连接发现提示2058错误,上面已经说了,MySql 8.0 以后修改了密码规则;所以我们得修改一下规则;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

你的密码指的是你重新设置的密码,一定要符合MySql 8.0的密码要求;否则会设置失败;

刷新下权限

FLUSH PRIVILEGES

图片 17

至此,阿里云CentOS7安装MySql8.0 已经结束;

如果这篇博文对你有所帮助,麻烦动动手指点个赞^-^

 

 

 

  查看自己的CentOS中安装的MariaDB的版本,查看是否已经安装,如果已经安装需要先卸载命令:

下载MySql源安装包

$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

MySQL 启动,停止,重启,查看状态

systemctl start mysqld.service 启动 mysql
systemctl stop mysqld.service 停止 mysql
systemctl restart mysqld.service 重启 mysql
systemctl status mysqld.service 查看 mysql 当前状态

图片 18

  yum list installed | grep mariadb//查看命令

安装Mysql源

$ yum install mysql57-community-release-el7-11.noarch.rpm

默认配置文件路径

配置文件:/etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

  如果结果如下:

检查MySql源是否安装成功

$ yum repolist enabled | grep "mysql.*-community.*"

MySQL 重置密码

此时 MySQL 已经正常运行,进入 MySQL 需要 root 用户的密码,使用下面指令从 log 中拿到默认密码

grep "password" /var/log/mysqld.log

图片 19

使用如下命令进入数据库:

mysql -uroot -p

图片 20

输入初始密码,此时不能做任何事情,因为 MySQL 默认必须修改密码后才能操作数据库,登录 MySQL,重置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

MySQL 安装了密码安全检查插件,默认密码检查测会要求密码包含:大小写字母,数字,特殊字符,并且长度不能小于8位,否则会提示出错

密码策略(执行下面这条指令,必须先修改密码)

show variables like '%password%';

图片 21

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个

策略
0 | LOW 检查长度
1 | MEDIUM 检查长度,数字,大小写字母,和特殊字符
2 | STRONG 检查长度,数字,大小写字母,和特殊字符,dictionary file

   图片 22

安装MySql

$ sudo yum install mysql-server

MySQL 配置默认为 utf8 编码

修改 /etc/my.cnf,在 [mysqld] 下添加如下配置,然后重启 mysql:

character_set_server=utf8
init_connect='SET NAMES utf8'

图片 23

  那么需要首先卸载,命令如下:

启动MySQL服务

$  systemctl start mysqld

图片 24

MySQL 远程登录

默认只允许 root 账户在本地登录,如果要在其它机器上连接 mysql,必须修改 mysql 允许远程连接,或者添加一个远程连接子账户

select host, user from user;

图片 25

允许远程计算机连接,修改为%表示允许任意的host访问,如果只允许一个 IP 访问,可以修改为相应的 IP。比如修改为 192.168.3.45,表示只允许这个IP远程访问mysql,修改过后重启 MySQL

update user set host = '%' where user = 'root';

图片 26

  yum -y remove mariadb*

开机启动

$  systemctl enable mysqld
$  systemctl daemon-reload

数据库操作

  等把mariadb删除后,我们就可以对mysqlyum源的安装了。

修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

$ grep 'temporary password' /var/log/mysqld.log
$ mysql -uroot -p

图片 27

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

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

mysql> show variables like '%password%';

基本操作

使用 mysql -uroot -p 登录数据库,查看所有数据库

show databases;

图片 28

使用某一个数据库

use dbname;

创建数据库

create database chatdb;

图片 29

删除数据库

drop database chatdb;

第二步:下载并且安装yum源

修改密码策略

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

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

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

systemctl restart mysqld

MySQL GUI

对于数据库的操作,在命令行操作不够友好,可以使用 GUI 工具,MySQL 的图形管理工具有很多,在此使用 MySQL Workbench

图片 30

在本地可以登录成功,远程登录可能失败,登录失败常见原因如下:

IP 地址,用户名和密码不匹配
防火墙限制端口号(关闭防火墙,或者允许端口号公网访问)
数据库限制 IP 访问(参考 MySQL 远程登录)

在上面信息都匹配的情况下,我仍然不能访问,服务器使用的是阿里云,系统 CentOS,解决方法?
登录阿里云控制台,找到安全组策略,添加 3306 端口

图片 31

  首先下载并安装mysql的YUM源,我们可以直接在mysql官网进行手动下载,在这里找到不同linux版本对应的YUM源的不同版本:,我们也可以通过wget下载linux7 版本的。

添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户为好:

grant all privileges on *.* to //创建的用户名 @"%" identified by "密码";
flush privileges;    //刷新刚才的内容

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; @ 后面是访问的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为
本地访问(那此用户就不能远程访问该数据库了)。
同时也可以为现有的用户设置是否具有远程访问权限。如下:

use mysql;
update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
flush privileges;
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;

命令如下:

配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务即可

查看编码

mysql> show variables like '%character%';

图片 32

wget -P /usr/local/mysql

默认配置文件路径:

配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid

这样我们就把 mysql57-community-release-el7-11.noarch.rpm下载到了/usr/local/mysql。下面我们开始进行mysql yum 源的安装命令为:

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

安装完成以后,查看是否mysql yum 源的安装成功:

yum repolist enabled | grep "mysql.*-community.*"

我们还可以查看启动的mysql版本(启动的版本只能是一个,这里是5.7):

yum repolist all | grep mysql

图片 33

可以通过类似下面的语句来启动或禁用某些版本

yum-config-manager --enable mysql57-community

yum-config-manager --disable mysql56-community

或者通过修改vim /etc/yum.repos.d/mysql-community.repo文件,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0,然后再将5.6源的enabled=0改成enabled=1即可。

查看当前的启用的 MySQL 版本:yum repolist enabled | grep mysql

 图片 34

第三步:安装mysql数据库

yum install mysql-community-server

按照提示完成即可。好了到目前为止mysql安装完成了。

    第四部:启动mysql,授权远程用户

先看看常用到的命令:

systemctl start mysqld    #启动mysqld

systemctl stop mysqld    #停止mysqld

systemctl restart mysqld    #重启mysqld

systemctl enable mysqld   #设置开机启动

systemctl status mysqld    #查看 MySQL Server 状态

(1) 启动mysql

systemctl start mysqld   

(2)登录mysql(如果以前安装过mariadb的,那么我们就直接用root登录,就可以了,如果没有那我们需要密码登录,我们现在说第二种 mysql在完成安装的时候,新版本的Mysql会为root用户创建一个初始密码,需要更改,查看初始密码(只有先启动才能看到初始密码):

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

 图片 35

这时候我们会看到一个字符串,这就是我们的初始密码,我们使用初始密码登录:

        mysql –u root –p

登录成功后,你会发现如果想操作数据库的话需要修改用户密码:

修正密码强度校验规则(用于测试环境使用),高版本的mysql在修改密码时会限制简单密码的创建,如果单单是为了测试使用,可以将他的密码检测策略修改下:

  修改:密码最小长度策略

mysql> set global validate_password_length=0;

  修改:密码强度检查等级策略,0/LOW、1/MEDIUM、2/STRONG

mysql> set global validate_password_policy=0;

  修改密码

mysql> set password for 'root'@'localhost' = password('111111');

如果忘记了密码或者不想照着输入可以直接重新设置密码,命令:

mysql_secure_installation

根据提示输入2次密码,就设置成功了。注意,在设置过程中,会提示删除是否anonymous用户,是否拒绝root的远程访问,是否删除测试用的数据库等,这些都需要根据自己的实际情况进行选择。最后出现:Thanks for using MySQL!,设置密码成功了。
改完后重启mysql: /etc/init.d/mysqld restart

(3)给用户授权(远程)

    GRANT ALL PRIVILEGES ON spectergk.* TO 'test'@'%'IDENTIFIED BY '111111' WITH GRANT OPTION;()

(4)开启3306端口  远程访问

  /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

  /etc/rc.d/init.d/iptables save

(5)远程登录命令

    mysql –h 10.22.21.44 –P 3306 –u root –p

输入密码,即可完成登录。

好了,mysql的安装完成了

tomcat的安装:

这个安装就简单多了,下载对应的,并把安装包在指定的文件夹下面解压,启动时需要提前做如下操作:

修改.sh的权限,直接拷贝过来的都没有权限,

chmod 777 *.sh

启动tomcat

sh startup.sh

停止tomcat

sh shutdown.sh

 

本文由pc28.am发布于pc28.am神测网,转载请注明出处:centOS的mysql和tomcat的装置配置

上一篇:Xshell连接本地 下一篇:Foxmail邮件收取博客园集团邮件配置
猜你喜欢
热门排行
精彩图文