关于linux服务器下安装Mysql 5.7
前言
日常开发中,作为一名合格的Java开发工程师,与服务器打交道是必不可少的,但是自己总会在完成当前的项目或者业务之后就抛之脑后,一旦时间久了就又要每次重新在网上找,这很浪费时间。之前一直也想把自己经历过的与服务器相关的经验记录下来,在自己需要的时候快速定位的同时又给需要的人提供思路。我发现全网有Mysql 的各种安装方式,还有版本不同带来的问题,大家写叙事风格也各不相同,所以可能需要结合两三篇其他博主的文章才能成功。接下来请严格按照本文步骤,这也是我一次性成功的每一步,好了废话不多说,我们开车上路!
正文
本次演练的服务器是一台刚刚装好的全新的服务器,mysql的安装包我之前也有,所以直接拿来用了,我的版本是mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz,你用其他的大致步骤也差不了多少,只要你是解压安装的这种模式,如果你想和我一样,也可以选择下载。
一、下载Mysql
下载地址: https://downloads.mysql.com/archives/community/
上图显示的版本第一个是二进制源码包,第二个是测试包,第三个是源码包。选择第一个即可,因为他是已经编译好了的,只需要配置一下就可以使用了,卸载的话直接删除就可以了。
二、环境配置
检测你的Linux服务器系统是否自带了Mysql
rpm -qa|grep mysql
如果有,进行强行卸载
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
这里卸载的只是列举,你可以根据你检测出来的Mysql进行卸载即可
检测系统是否自带mariadb
rpm -qa|grep mariadb
继续卸载操作
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
可能还有会有mariadb-5.5.64-1.el7.x86_64和mariadb-server-5.5.64-1.el7.x86_64,直接执行卸载命令即可
rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.64-1.el7.x86_64
完成卸载之后用连接工具(我使用的是xftp)将下载好的mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz上传到linux服务器你想要安装的目录下,我放置在了 /home 目录下
第一步:解压
直接 cd /home 进入到存放安装文件的目录里面
解压命令 : tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
等待他解压完成重命名
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7
这一操作步骤你也可以通过连接工具Xftp直接重命名也是可以的
第二步:创建用户,并给数据目录赋予权限
检查mysql组和用户是否存在: cat /etc/group|grep mysql
创建mysql组和用户:
groupadd mysql
useradd -r -g mysql mysql #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
创建mysql数据目录
还是在 /home目录下
mkdir -p data 创建data文件夹
cd data/
mkdir -p mysql 在data文件夹下创建mysql文件夹
这一步操作你也可以直接在Xftp里面的home目录下直接新建data文件夹之后再在data文件夹下创建mysql文件夹
赋予权限
chown mysql:mysql -R /home/data/mysql
之后你可以在xftp工具中看到/home/data/mysql的所有者是mysql了
你也可以直接使用 ls 或者 ll命令
第三步:配置参数
执行
vim /etc/my.cnf
然后 按 i 进入编辑模式 请按照这个配置里的mysql配置文件
[mysqld]
#设置端口
port=3306
user=mysql
#设置mysql的安装目录(刚才解压之后改名的mysql-5.7的文件夹)
basedir=/home/mysql-5.7
#设置mysql数据库的数据存放目录(刚才创建的/data/mysql目录)
datadir=/home/data/mysql
socket=/tmp/mysql.sock
#日志存放目录(选择你想要存放的地址)
log-error=/home/data/mysql/mysql.err
pid-file=/home/data/mysql/mysql.pid
#character config
#设置字符集
character_set_server=utf8mb4
编辑完后 按esc 后,按住 shift+: 输入 wq表示保存并退出 。输入q!表示不保存退出
第四步:初始化mysql
切换到你的解压mysql文件夹下的bin目录下
cd /home/mysql-5.7
执行:
./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql-5.7/ --datadir=/home/data/mysql/ --user=mysql --initialize
这一步一定要切换到你的解压mysql文件夹下的bin目录下执行,不然会报找不到目录的错误信息
查看初始密码,复制出来
tail -fn 1000 /home/data/mysql/mysql.err
画红框的地方就是初始化的mysql密码,请记录下来,等会儿会用到
退出查看模式直接ctrl+c即可
第五步:启动mysql,修改root 密码
把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql
切换至你解压的mysql-5.7的那个文件夹目录下
执行:
service mysql start
查看是否启动
ps -ef|grep mysql
进入mysql并更改密码
切换至mysq-5.7目录下
执行:
./bin/mysql -u root -p
拷贝刚才初始化的mysql密码填充进去,画红框的地方
然后执行修改,并刷新
set password=password('123456'); 密码你改为你想要的
grant all privileges on *.* to root@'%' identified by '123456'; #权限赋给root用户,所有ip都能连接,连接时输入密码,密码为123456
flush privileges; #刷新,一定要刷新!
三、配置mysql开机自启动
切换至你的mysql解压文件目录下
执行:
复制启动脚本到资源目录
[root@localhost mysql-5.7]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行权限
[root@localhost mysql-5.7]# chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务
[root@localhost mysql-5.7]# chkconfig --add mysqld
检查mysqld服务是否已经生效
[root@localhost mysql-5.7]# chkconfig --list mysqld
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
Mysql相关命令:
service mysql start 启动
service mysql restart 重启
service mysql stop 停止
四、注意事项:
安装前如果你的系统有Mariadb,一定要卸载
在mysql中修改密码等操作一定要执行 flush privileges; 否则设置是不生效的!
到此,所有安装mysql的配置完毕,欢迎各位小伙伴提出建议和疑问,祝你们也能一次安装成功!