本文整理在Linux上安装MySQL的两种方式,分别是压缩包解压方式安装与RPM软件包方式安装。可以先通读全文,查看两种安装方式的区别,最后选择使用哪种方式进行安装。(推荐第一种)

一、压缩包解压方式

环境检查

Linux系统版本:CentOS7
MySQL版本:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

注意:本文演示的是5.7.25版本的,版本一定要完全一致,小版本之间也会出现安装步骤不一致的问题。经过多次试验,以下步骤是能够一次安装成功的。

下载地址:https://downloads.mysql.com/archives/community/
在这里插入图片描述
检查Linux系统上是否装有旧版的Mysql

rpm -qa | grep mysql

若有旧版,则通过以下命令删除

rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 强制删除,排除依赖

检查是否有mariadb

rpm -qa | grep mariadb

若有旧版,通过相似的命令删除

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

软件安装

软件上传与解压

将mysql软件包上传到 /usr/local目录下
解压,并重命名文件夹

tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql

添加mysql用户和用户组

先检查是否已经有mysql用户和mysql用户组

cat /etc/passwd | grep mysql 
cat /etc/group | grep mysql

若是以下情况,表示已经存在mysql用户和组,无需另外创建,否则需要创建mysql的用户和用户组
在这里插入图片描述
存在mysql组的情况:
在这里插入图片描述
一般mysql用户是没有创建的,我们通过下面的命令进行创建

groupadd mysql
useradd mysql -g mysql

安装数据库

创建data文件夹

mkdir -p /usr/local/mysql/data

将文件夹的所有者和用户组改为mysql

chown mysql:mysql -R /usr/local/mysql/data

编辑配置文件 vim /etc/my.cnf

[client]
default-character-set=utf8

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character_set_server=utf8
 
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid

[mysql]
default-character-set=utf8

进入bin目录,初始化数据库

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

添加mysql服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动mysql

service mysql start

查看初始密码,并复制密码用于下面的登录

cat /usr/local/mysql/data/mysql.log

在这里插入图片描述
登录mysql

cd /usr/local/mysql/bin
./mysql -u root -p

在这里插入图片描述
修改密码

set password for root@localhost = password('123456');

开机启动

chkconfig --add mysql

检查开机启动项

chkconfig --list

添加环境变量 vim /etc/profile,在最后加上

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

使环境变量生效

source /etc/profile

登录mysql,检查字符集(按照上述的配置,字符集是没有问题的,都是utf8)

mysql -uroot -p
show variables like '%char%';

在这里插入图片描述

二、RPM方式安装

使用该方式安装mysql类似于在windows系统上的用exe软件安装程序。下面同样介绍的是安装mysql5.7.25的版本。

环境检查

Linux系统版本:CentOS7
MySQL版本:mysql 5.7.25
下载软件时以下四个需要同时下载,libs和common为依赖:
在这里插入图片描述
下载地址:https://downloads.mysql.com/archives/community/
在这里插入图片描述
检查Linux系统上是否装有旧版的Mysql

rpm -qa | grep mysql

若有旧版,则通过以下命令删除

rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64  // 普通删除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64  // 强制删除,排除依赖

检查是否有mariadb

rpm -qa | grep mariadb

若有旧版,通过相似的命令删除

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

软件安装

上传上述的四个软件到第三方软件包存放路径 /opt

使用以下命令进行安装(i:安装,v:显示安装过程,h显示进度)

rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm mysql-community-client-5.7.25-1.el7.x86_64.rpm mysql-community-common-5.7.25-1.el7.x86_64.rpm mysql-community-libs-5.7.25-1.el7.x86_64.rpm

检查是否安装成功

rpm -qa | grep -i mysql

在这里插入图片描述
检查是否创建用户和用户组

cat /etc/passwd | grep mysql
cat /etc/group | grep mysql

在这里插入图片描述
格式:用户名:密码:用户id:组id 登录的默认shell
在这里插入图片描述
或者使用mysqladmin --version查看
在这里插入图片描述

启动/停止服务

service mysqld start //注意不同的系统,看是否要加d
service mysqld stop 

在这里插入图片描述
修改密码

查看初始密码

cat /var/log/mysqld.log | grep "A temporary"

在这里插入图片描述
用初始密码登录:mysql -uroot -p
修改密码:alter user root@localhost identified by ‘123456’;
使用该语句修改密码需要先修改mysql的策略要求,即修改参数,否则会提示:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql的validate_password_policy如下
在这里插入图片描述
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
修改两个参数:

set global validate_password_policy=0;
set global validate_password_length=1;

然后修改密码:

alter user root@localhost identified by '123456';

开机启动

chkconfig mysqld on

检查服务是否自启动(按q退出)

systemctl list-unit-files 

在这里插入图片描述
或者输入ntsysv 检查mysql服务是否开机启动(按Tab键切换到OK)
在这里插入图片描述
数据库文件的安装配置位置:
/var/lib/mysql/ 数据库数据的存放位置
/usr/share/mysql 配置文件目录位置
/usr/bin mysqladmin等命令
/etc/my.cnf 配置文件的位置
/var/log/mysqld.log 日志文件位置

修改乱码问题

show variables like ‘%char%’;
在这里插入图片描述
默认情况下,客户端和服务器的字符集都是latin1(拉丁),中文情况下会乱码

拷贝一份配置文件

cp /etc/my.cnf /etc/my.cnf.bak

修改my.cnf配置 vim /etc/my.cnf
添加或修改以下信息:

[client]
default-character-set=utf8

[mysqld]
port=3306
character-set-server=utf8
collation-server=utf8_general_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
...

[mysql]
default-character-set=utf8

修改完配置信息后,重启mysql服务

service mysqld restart

注意:原先创建的数据库仍然是不支持中文的,需要另外创建一个数据库,可以看到支持中文。
检查字符集:
在这里插入图片描述
总结:上述两种方式都可以安装mysql数据库,但第二种虽然安装过程简单,但是很多路径使用的都是默认的路径,我们在安装时无法自己指定这些路径,因此推荐第一种方式进行安装。

Logo

更多推荐