Centos7安装mysql5.7解压版

作为小白,linux学的不扎实,在这里仅是作为一次笔记,记录安装mysql安装时的坑,如果有人看到了,有什么解释问题,希望大家自己搜索学习,我也是东拼西凑的,也能告诉我一下。
命令:service mysqld start 启动mysql服务
命令:service mysqld stop 停止mysql服务

一.下载mysql5.7版本的数据库并上传到服务器

二.卸载CentOs自带的Maridb数据库

在rpm中利用grep工具搜索有关mariadb的软件包

rpm -qa | grep mariadb
	
	rpm是RedHat软件包管理工具
	-qa 表示 query all 
	| 表示 将两个命令隔开,左边命令的输出就会作为右边命令的输入
	grep 是一个文本搜索工具

删除搜索出来的软件包名

rpm -e 搜索出来的软件包名
rpm -e --nodeps 强制删除

删除yum中有关maridb的相关软件包

yum -y remove mari*

再使用命令 rpm -qa | grep mariadb 进行检查

三. 卸载删除的mysql数据库

如果之前用的是yum方法安装的mysql但出了问题想重新安装,建议删干净,以免后续出现什么问题(都是坑)

rpm -qa | grep mysql
yum remove mysql-*

在/目录下查找包含mysql的文件名,并逐一删除即可

find / -name mysql
rm -rf 搜索出来的文件名(例如 rm -rf  /usr/local/mysql)

四. 安装mysql5.7

这里路径是/opt/DevSoftware/mysql下,要安其他位置自行修改路径

(1)解压文件

打开文件上传位置并查看文件列表

cd /opt/download
ls

将mysql-5.7.27-linux-glibc2.12-x86_64.tar文件复制到要安装的文件目录下

cp mysql-5.7.27-linux-glibc2.12-x86_64.tar /opt/Software

解压 .tar 文件

tar -xvf mysql-5.7.27-linux-glibc2.12-x86_64.tar

解压 .tar.gz 文件,不用解压mysql-test那个文件,等待解压结束

tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

将解压出来的mysql-5.7…文件重名为mysql

mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql

(2)创建mysql组和用户

先执行1,2命令查看是否有对mysql进行用户分组,如果没有执行3,4命令

1  cat /etc/group | grep mysql
2	cat /etc/passwd | grep mysql
3  groupadd mysql
4  useradd -r -g mysql mysql

对创建的用户进行mysql文件的授权

chown -R mysql:mysql  /opt/DevSoftware/mysql

(3)创建相关文件&授权文件&安装

创建data文件,并授权

mkdir /opt/DevSoftware/data
chown -R mysql:mysql data
chown 777 mysql/ 赋予最高权限(所有用户都可以使用)

修改mysql的配置文件,按i进入插入编辑模式,修改完毕按esc退出编辑模式,按shift+ ‘:’ 进入命令模式,输入wq保存并退出,具体vim的操作可以自行搜索学习

vim /etc/my.cnf

具体配置信息如下:

[mysql]
#修改默认字符集
default-character-set=utf8
#这个是绑定客户端socket文件路径,不然出错还要创建
socket=/opt/DevSoftware/mysql/mysql.sockt
[mysqld]
#用于后续修改密码时,如果随机密码不对,可以跳过密码验证登录的,修改完密码后再删掉。skip-grant-tables
socket=/opt/DevSoftware/mysql/mysql.sockt
log_error=/opt/DevSoftware/mysql/data/error.log
pid_file=/opt/DevSoftware/mysql/data/mysql.pid
basedir=/opt/DevSoftware/mysql
datadir=/opt/DevSoftware/mysql/data
port = 3306
#忽略大小写
lower_case_table_names=1
#服务端默认字符集
character-set-server=utf8
#最大连接数
max_connections=2000
#创建数据库时默认数据引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true

授权my.cnf权限

chown 777 /etc/my.cnf

检查是否有libaio库

rpm -qa|grep libaio

没有则安装

yum install libaio

进行安装,路径写mysql的文件路径,查看warning信息找到初始随机密码。

/opt/DevSoftware/mysql/bin/mysqld  --initialize  --user=mysql  --basedir=/opt/DevSoftware/mysql  --datadir=/opt/DevSoftware/mysql/data

(4)mysql环境变量&服务自启动相关配置

打开profile文件,进行环境变量配置

vi /etc/profile

在profile文件最后加入如下语句,并保存退出profile配置文件

export PATH=$PATH:/usr/database/mysql/bin

使配置文件生效

source /etc/profile

自启动相关配置

cp /opt/DevSoftware/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list 
显示服务列表,如果看到mysqld的服务,并且3,4,5都是”on/开启 “的话则成功
如果是off/关闭,则键入:chkconfig --level 345 mysqld on 命令

启动&关闭&重启mysql服务的命令

service mysqld start
service mysqld stop
service mysqld restart

五.修改密码&释放权限

如果在初始化MySQL的时候,在my.cnf中进行了skip-grant-tables跳过密码验证登录的 设置,所以可以直接输入如下命令进行登录

mysql -u root
否者
mysql -u root -p
输入密码

修改密码

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') where USER='root';
flush privileges;

重置密码后,一定执行以下语句

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;

设置授权任何IP地址都可以登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 
flush privileges;

退出mysql

quit;

退出后先停止mysql,再次进入 /etc/my.cnf文件将skip-grant-tables删除,然后重启mysql

六. 修改防火墙设置,使用Navicat连接数据库

查看防火墙开放的端口

firewall-cmd --list-ports

如果没有3306端口,是连接不上的,输入下面命令,使防火墙开放 3306端口(使用TCP协议的/永久开放的/公开的性质)

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

重启防火墙

firewall-cmd --reload

接下来就可以进行远程连接mysql数据库了。

如果说用的阿里云或者什么有安全组的管理,还得去网站的控制台去操作一下。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值