CentOS7.5安装Java+Mysql+Nginx+Tomcat(一)安装MySQL5.7.22

CentOS7.5安装MySQL5.7.22(新服务器)

1、获取MySQL安装包

   ①下载安装包

   访问https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择MySQL版本5.7.22,系统选择RedHat,版本号选择7(CentOS是基于红帽内核的,所以选择RedHat),之后选择Compressed TAR Archive进行下载

   ②使用wget命令

wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz
//当Mysql最新版本更新后,旧版本会失效,wget会报404,将链接中的版本改为最新版本即可

2、卸载MariaDB

   CentOS7默认安装了MariaDB数据库,不卸载直接安装MySQL会有冲突

rpm -qa | grep maria  //查看已安装的名称包含maria的应用
yum remove mariadb-libs-5.5.56-2.el7.x86_64 -y  //卸载该应用

3、解压

   进入安装包所在目录,将下载好的包解压至/usr/local目录

tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz -C /usr/local

   待解压完成后,重命名解压得到的文件夹

cd /usr/local
mv mysql-5.7.22-el7-x86_64 mysql

    解压完之后,安装包mysql-5.7.22-el7-x86_64.tar.gz删除即可

4、添加用户组和用户

groupadd mysql //添加用户组
useradd -r -g mysql mysql //添加用户mysql 到用户组mysql,-r表示此用户是程序用户,不可用来登录系统

5、 给mysql用户指定专有用户和用户组

   首先在/usr/local/mysql目录下创建data目录

mkdir data

   指定用户和用户组 

cd /usr/local
chown -R mysql mysql/
chgrp -R mysql mysql/
//-R包含目录下所有和目录和文件

6、初始化MySQL

   进入mysql的bin目录进行初始化

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

   初始化完毕后,最后一行会打印得到的随机密码(一会登录要用),记录下来,我的运行示例如下:

[root@instance-f0oo0g91 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
2018-07-17T09:22:18.945005Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-07-17T09:22:21.076733Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-07-17T09:22:21.374300Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-07-17T09:22:21.456323Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e894a53b-89a2-11e8-bc01-fa163ec4e0bb.
2018-07-17T09:22:21.458760Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-07-17T09:22:21.459354Z 1 [Note] A temporary password is generated for root@localhost: %3650kSy&;?p

   密码即为:%3650kSy&;?p

7、配置my.cnf

   使用默认的/etc/my.cnf作为文件位置,关于mysql怎样识别my.cnf文件,可以参考这个文章:https://blog.csdn.net/djcode/article/details/78621772

   vi /etc/my.cnf  

   精简版配置:

[mysqld]  
basedir=/usr/local/mysql/  
datadir=/usr/local/mysql/data/

8、启动MySQL

cd /usr/local/mysql/bin
./mysqld_safe --user=mysql &

9、设为开机启动

cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql

   vi /etc/init.d/mysql,将mysql目录补充上

basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/

   授权:

chmod +x /etc/init.d/mysql

   设为开机启动:

chkconfig --add mysql

10、MySQL启动、停止命令  

   重启服务:service mysql restart

   停止服务:service mysql stop

   启动服务:service mysql start

   查看服务:service mysql status

11、收尾工作

  进行到此步骤时已经可以登录和使用MySQL了,不过首先我们要创建mysql命令的软链接,否则每次登录MySQL都需要进入/usr/local/mysql/bin目录下。创建软链接的命令如下:

ln -s /usr/local/mysql/bin/mysql /usr/bin

  创建完毕后我们就可以在任何目录下使用mysql命令了,使用刚才获得的随机密码进行登录

mysql -u root -p
//登录成功后修改密码
set password=password("root");  //引号内填写你的新密码

   这时候就可以在本机上使用MySQL服务了,但是我们一般需要远程连接数据库获取服务,所以还需要授权远程访问权限

   例:给root用户授予任意ip访问权限

grant all privileges on *.* to 'root'@'%' identified by 'mypassword' with grant option;
//mypassword为你的密码

   出于安全考虑,你也可以指定任意ip进行授权,将%改为ip即可

   授权完毕后,要使修改生效,要执行

flush privileges;

  到这一步MySQL的安装就完全完成了。

  远程访问MySQL可能被防火墙拦截,需要关闭防火墙或者开放3306端口

  CentOS7默认使用firewalld作为防火墙,iptables被默认不启动,但仍可继续使用。

  ①firewalld基本操作

  启动: systemctl start firewalld

  关闭: systemctl stop firewalld

  查看状态: systemctl status firewalld 

  开机禁用  : systemctl disable firewalld

  开机启用  : systemctl enable firewalld

  ②开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
//--permanent  永久生效,没有此参数重启后失效

firewall-cmd --reload  //使配置生效

如果你用的是阿里云服务器,它默认不开启80及3306端口,需要在安全组里添加规则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值