一文学会Linux安装Mysql5.7(解压方式),加上配置详解,帮你完美避坑
一文学会Linux安装Mysql5.7(解压方式),加上配置详解,帮你完美避坑
高调起标题,低调写文章
过程步骤三步走
第一步 安装准备
1.0、检查电脑是否预装了mysql(预装的mysql叫mariadb ),有则卸载删除
rpm -qa | grep mariadb #查询是否预装mysql
rpm -e --nodeps mariadb-libs #有返回数据则使用该命令卸载
1.1、根据自己的linux系统类型选择下载相应的二进制压缩包(不清楚可以用通用压缩包,文章末尾提供压缩包),然后通过xftp工具传输到linux系统上(这个相信不会有问题吧)
1.2、解压,解压后改名 (我的压缩包是放在/opt目录下,下面也作为mysql的安装目录)
注:这个mysql应该放在哪个目录可以自己选择,opt目录一般存放第三方软件或服务,所以我选择/opt
tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql5.7 #改名为mysql5.7
解压过程嘟嘟嘟一大串,使用ll查看解压得到的文件夹
第二步 准备mysql用户即用户组,完成相关配置
2.1、添加mysql用户和组
groupadd mysql #添加名为mysql的用户组
useradd -r -g mysql mysql #添加名为mysql的用户,并将其添加到mysql组中
2.2、创建mysql数据文件夹并授权
在opt目录下新建一个数据目录data,子文件夹为mysql用于管理mysql数据库,并把它的所有者和所有组改为刚才创建的用户和组(由mysql用户和mysql组成员来管理mysql数据)
mkdir -p ./data/mysql #创建mysql数据目录,后面会用到
chown mysql:mysql -R ./data/mysql #将mysql数据目录的所有者和所有组改为刚才创建的mysql用户和组
授权成功图
2.3、配置mysql相关设置,mysql初始化会自动读取/etc目录下的my.cnf文件,这个文件一般是不存在的,需要我们自己创建,如果你有这个文件说明你的系统预装了mysql或者曾经安装过,如果存在,请参考我的第一步卸载预装的mysql然后再进行
使用vim命令编辑/etc/my.cnf(没有这个文件会自动新建)
vim /etc/my.cnf
配置及解释如下:
[mysqld]
bind-address=0.0.0.0
#mysql监听的ip地址,如果是127.0.0.1,表示仅本机访问,0.0.0.0表示全地址可以访问(任何主机)
port=3306 #mysql运行在哪个端口
user=mysql #mysql以什么用户运行
basedir=/opt/mysql5.7 #mysql主目录
datadir=/opt/data/mysql #mysql的数据目录
socket=/tmp/mysql.sock #mysql以socket方式运行的sock文件位置
log-error=/opt/data/mysql/mysql.err #错误日志位置
pid-file=/opt/data/mysql/mysql.pid #进程id文件
#character config
character_set_server=utf8mb4 #服务器使用的字符集
symbolic-links=0 #是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
explicit_defaults_for_timestamp=true #mysql中TIMESTAMP类型和其他的类型有点不一样(在没有设置explicit_defaults_for_timestamp=1的情况下)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/opt/mysql5.7
datadir=/opt/data/mysql
socket=/tmp/mysql.sock
log-error=/opt/data/mysql/mysql.err
pid-file=/opt/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
2.4、数据库初始化(这一步才算是正式安装)
先cd到mysql目录的bin目录下
cd /opt/mysql5.7/bin #先cd到bin目录
./mysqld --initialize --user=mysql #mysql初始化命令,必须在bin目录下使用
以下是个人感慨,不感兴趣可以跳过
这一步我必须说两句了,我看了很多帖子,都TM在./mysqld后面加很多配置,我起先安装就是按照这样的帖子做的,结果我转了不下十遍,期间还换了阿里云买的服务器来试,都一直报底下这个错误,找这个错误的帖子分析原因也无济于事,在这里我真得想对那些害人的帖子说几句qnmb,很多帖子完全就是从其他论坛搬来的,自己根本就没有测试过。
我看到的大部分帖子初始化这步的操作:
结果启动就是报底下这个错误
Starting MySQL... ERROR! The server quit without updating PID file (/opt/data/mysql/mysql.pid).
试八百遍估计都是这样,真TM无语
以上出现的错误(就本文安装过称来说),很简单,你之前在my.cnf里配置了mysql的相关设置,结果在初始化的时候又在配置,这样就会起冲突,my.cnf里配置就无效了,这是多此一举,同时会覆盖my.cnf里的配置,后面没有加pid-file=/opt/data/mysql/mysql.pid这个配置,所以上面一直会报pid无法更新的错误,因为mysql.pid这个文件无法创建(手动创建是无效的)
2.5、配置mysql服务,启动mysql
使用下面命令将mysql.server复制到/etc/init.d/mysql中(将mysql加入服务),然后启动服务
cp /opt/mysql5.7/support-files/mysql.server /etc/init.d/mysql #添加mysql服务
service mysql start #启动mysql
补:查看mysql服务转态命令(service mysql status)
第三步 使用mysql
3.1、 登录mysql数据库,更换root用户密码
mysql -u root -p #以root用户登录mysql
SET PASSWORD = PASSWORD('你要设置的密码'); #分号不要丢
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; #修改密码
登录mysql (会让你输入密码,粘贴刚才复制的密码)
修改root密码
使用Navicat连接
使用root账户和你刚才你设置的密码,其他不同改
大功告成!!!
下面介绍mysql服务的配置,大家可以选择着看
下面两个是关于chkconfig的命令,具体使用参考chconfig命令的介绍
chkconfig --add mysql #将mysqld服务加入到系统服务,开机自启
chkconfig --list mysql #检查mysqld服务是否已经生效
使用systemd管理MySQL服务器:http://t.csdn.cn/SChz7http://t.csdn.cn/SChz7
常见问题:http://t.csdn.cn/avecwhttp://t.csdn.cn/avecwMySQL压缩包
mysql压缩包https://pan.baidu.com/s/1uvHEoJHRa9K6CrbpBUdEWQ?pwd=i9ik
欢迎留言反馈,看到会回复,抱拳!
更多推荐
所有评论(0)