Centos7(阿里云)安装Mysql5.7

相信很多小伙伴都体验过初学linux时安装mysql的痛苦,这里我总结了一下在centos7上安装mysql5.7的步骤(我是装在了阿里云服务器上),如果你觉得本文对你有所帮助,麻烦点赞收藏支持下啦

mysql5.7安装包(linux版):
链接:https://pan.baidu.com/s/1t2eILoJOP1zufHL83xTDFA
提取码:en1i

1、安装前的准备工作

1.1 执行安装命令前,检查并删除默认安装的mysql-libs/MariaDB

  • CentOS6
#查询是否默认安装了mysql-libs
rpm -qa|grep mysql

#如果存在mysql-libs的旧版本包如下:请先执行卸载命令
rpm -e --nodeps mysql-libs
  • CentOS7
#查询是否默认安装了mariadb
rpm -qa|grep mariadb

#如果存在如下,请先执行卸载命令:mariadb-libs-5.5.52-1.el7.x86_64(输入你们对应查出来的版本)
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

1.2 检查并安装以下两项依赖,

# 检查
rpm -qa|grep libaio

rpm -qa|grep net-tools

# 安装
yum install libaio -y

yum install net-tools -y

1.3 检查并赋予 tmp 目录权限

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以给/tmp较大的权限

执行 :

chmod -R 777 /tmp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5UPTEl1l-1607422190756)(imgs/wps8.jpg)]

2、正式安装

上传以下文件分别执行安装

在mysql的安装文件目录下执行:(必须按照顺序执行)

rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm 

rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

如果在安装mysql-community-server前没有事先安装好前三个依赖环境会报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o1TfhZ6h-1607422190762)(imgs/wps9.jpg)]

3、查看MySQL版本号

执行mysqladmin --version命令,类似java -version打出消息,即为成功。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6q6cb3AB-1607422190764)(imgs/1607416911725.png)]

4、mysql服务的初始化

如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化

mysqld --initialize --user=mysql

--initialize选项默认以“安全”模式来初始化,会为 root 用户生成一个临时密码,登陆后你需要设置一个新密码

查看生成的临时密码:

cat /var/log/mysqld.log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DT8caDao-1607422190776)(imgs/wps10-1607415348867.jpg)]
把密码粘贴复制保存一下,下面登录修改密码会用到

5、MySQL服务启动/关闭/状态命令

# 启动:
systemctl start mysqld 

# 状态: 
systemctl status mysqld

# 关闭:
systemctl stop mysqld

启动mysql

6、root首次登录/修改密码

首次登录:

输入 mysql -uroot -p命令进行登录

首次登陆通过需要录入初始化密码:

在Enter password 输入刚才保存的临时密码

修改密码:

上面登录进mysql后,输入命令修改密码

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

设置完密码就可以用新密码登陆,正常使用数据库了

7、退出登录验证

在mysql窗口输入quit退出登录

8、mysql自启动

查看mysql是否自启动(默认自启动)

systemctl list-unit-files|grep mysqld.service

如不是enabled可以运行如下命令设置自启动

systemctl enable mysqld.sercice

9、修改数据库/表的字符集

为什么要修改字符集?

通过下面案例说明

创建测试数据库:

create database mydb01;

切换到该数据库:

use mydb

创建测试表:

create table mytbl(id int,name varchar(20));

测试插入中文数据:

insert into mytbl values(1,‘张三’);

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-urXrGk2l-1607422190780)(imgs/wps11.jpg)]
会发现插入报错,原因是 mysql默认使用的字符集是Latin1,不支持中文字符,因此我们要把他修改成utf-8

修改步骤:

步骤一:

修改配置文件 vim /etc/my.cnf在最后加上中文字符集配置

character_set_server=utf8

步骤二:

重新启动mysql systemctl restart mysqld并查看状态systemctl status mysqld

已生成的库表字符集变更:

上面修改了字符集后,再次往mytbl表执行insert语句的时候依然报错,这是为什么呢?

我们使用命令查看上面在字符集更改前创建的库表的字符集详情

show create database mydb; #查看数据库字符集详情

show create table mytbl; #查看表字符集详情

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qy8DJbbd-1607422190785)(imgs/wps12.jpg)]

原来是修改全局的对已生成的库表字符集不会产生改变,下面我们对已生成的库表字符集进行变更

  • 修改指定数据库的字符集
alter database mydb character set 'utf8';
  • 修改指定数据表的字符集

    alter table mytbl convert to character set 'utf8';
    

如果数据库已经存储乱码数据:更新数据或者删除数据

10、使用navicat连接mysql

出现问题:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVSntio1-1607422190788)(imgs/1607415725074.png)]

问题原因:

连接用户名的访问权限不足

解决办法:授予权限

登录mysql,授予通过网络方式登录的root用户对所有库所有表的全部权限

grant all privileges on *.* to root@'%' identified by '密码';

最后需要刷新权限才能生效

flush privileges; 

11、开放端口/关闭防火墙

开放端口:

如果是在腾讯云或阿里云服务器上安装的mysql,需要配置安全组,放行端口(以阿里云为例)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iUHIuF4r-1607423072961)(imgs/1607422818786.png)]

关闭防火墙:

输入命令永久关闭防火墙

systemctl disable firewalld.service

12、mysql安装相关文件位置

参数 路径 解释 备注
–basedir /usr/bin 相关命令目录 mysqladmin mysqldump等命令
–datadir /var/lib/mysql/ mysql数据库文件的存放路径
–plugin-dir /usr/lib64/mysql/plugin mysql插件存放路径
–log-error /var/lib/mysql/jack.atguigu.err mysql错误日志路径
–pid-file/ var/run/mysqld/mysqld.pid 进程pid文件
–socket /var/lib/mysql/mysql.sock 本地连接时用的unix套接字文件
/usr/share/mysql 配置文件目录 mysql脚本及配置文件
/etc/systemd/system/multi-user.target.wants/mysqld.service 服务启停相关脚本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章