Linux--Centos7安装MySQL5.7-基础篇
卸载Centos7自带MariaDB服务
Centos7默认安装了MariaDB服务,需要先将其删除。
- 查看mariadb当前安装列表:
rpm -qa | grep mariadb
- 卸载MariaDB服务
//若修改过my.cnf文件,会打印一些信息,无需在意
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBlJ3tPF-1649578368938)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648652305004.png)]
下载上传MySQL安装包(.tar.gz)
自行移步MySQL官网进行下载:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XHkvjN4R-1649578475386)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648566768140.png)]
通过 lrzsz 命令将MySQL安装包上传到Linux系统中
-
通过yum安装lrzsz : yum -y install lrzsz
-
通过rz命令将MySQL安装包上传到Linux
-
将安装包安装,修改解压文件名:
-
tar -zxvf 安装包
-
mv 移动文件夹 目标文件夹【目标文件夹如果存在的话会将移动文件夹移动到目标文件夹目录下,如果不存在会将移动文件夹的名称改为目标文件夹】
-
创建MySQL用户组并修改权限
创建用户组以及用户
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBiwe0sN-1649578368940)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648652920047.png)]
//在Linux系统中创建MySQL用户组
groupadd mysql
//为MySQL用户组添加MySQL用户
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmJcTb9E-1649578368940)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648651692669.png)]
配置MySQL文件
配置my.cnf :vi /etc/my.cnf ,如果my.cnf不存在会重新创建,如果存在修改即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2l6JvACO-1649578368941)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648653150182.png)]
my.cnf内容如下,编辑完成后即可保存退出
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
#注意这里是自己配置的路径
basedir=/software/mysql/mysql5.7
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
初始化数据库
进入MySQL的bin目录,初始化。
./mysqld --defaults-file=/etc/my.cnf --basedir=/software/mysql/mysql5.7 --datadir=/data/mysql/ --user=mysql --initialize
查看密码,切记这是初始密码,用于进入MySQL服务。
cat /data/mysql/mysql.err
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oeds95wZ-1649578368941)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648736732650.png)]
启动MySQL服务
先将mysql.server放置到/etc/init.d/mysql中。
cp /software/mysql/mysql5.7/support-files/mysql.server /etc/init.d/mysql
启动。
service mysql start
ps -ef|grep mysql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ueHXnUhF-1649578368941)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1648973721391.png)]
此时恭喜你,MySQL服务已经安装好了!
修改MySQL密码
此时MySQL服务已经启动,需要到MySQL安装目录下的bin文件下,登录MySQL,执行以下命令:
./mysql -u root -p
//登录时的秘密是初始化时候的密码,登录成功后执行以下命令,修改密码
SET PASSWORD = PASSWORD('root123');
//这个地方可能会报错,请看另外一篇文张
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wOwt1pE-1649578368942)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649557776735.png)]
连接MySQL
使用navicat连接MySQL时提示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKfAK9yy-1649578368942)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649557913772.png)]
这个时候不要慌,第一时间想到的是防火墙的原因,下面我们先来测试一下:
//查看防火墙状态
systemctl status firewalld
//因为防火墙是运行状态,所以我们先关闭防火墙,然后再测试连接
systemctl stop firewalld
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-crbFlTY9-1649578368942)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649558334095.png)]
果然不出所料,关闭防火墙后连接又换了一个错,这个错是啥原因嘞,突然想到MySQL只允许本地连接,不允许远程访问,此时我们遇到两个问题:第一是开放3306端口,第二是设置MySQL允许远程连接,我们一步一步来:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnGLIdoG-1649578368943)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649559647340.png)]
我们开始放开端口3306端口:
// --permanent 永久生效,没有此参数重启后失效
//开放指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//开放端口段,适用于多个项目部署
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
//重新载入
firewall-cmd --reload
//查看
firewall-cmd --zone=public --query-port=3306/tcp
//如果添加错了,不要慌,我们还可以移除,切记移除后也要重新载入
firewall-cmd --zone=public --remove-port=80/tcp --permanent
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F7dcjTIZ-1649578368943)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649559163605.png)]
端口开放成功,此时我们再来设置MySQL允许远程连接:
进入MySQL的bin目录,然后进入MySQL服务,执行以下命令:
//访问mysql库
use mysql
//使root能再任何host访问
update user set host = '%' where user = 'root';
//刷新
FLUSH PRIVILEGES;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I56o5ctA-1649578368943)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649561059824.png)]
然后我们再去连接MySQL,显示连接成功。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FnofwrJS-1649578368943)(C:\Users\25833\AppData\Roaming\Typora\typora-user-images\1649561340365.png)]
恭喜你,现在MySQL基础内容就算是安装成功了。