一、卸载系统自带的相关

安装前准备

1.  首先检查系统中是否存在使用rpm安装的mysql或者mariadb,如果有需要先删除后再编译安装。

由于MySQL在CentOS7中收费了,所以在CentOS7内部默认集成的数据库改为MariaDB,MariaDB是mysql的一个分支,所以MySQL可能会和MariaDB文件有冲突,所以依然需要继续下载掉MariaDB。

1.rpm -qa | grep mysql #检查是否安装了mysql
2.rpm -qa | grep mariadb #检查是否安装了mariadb
3.rpm -e xxx  #一般使用此命令即可卸载成功
4.rpm -e --nodeps xxx #卸载不成功时使用此命令强制卸载
  • 1.
  • 2.
  • 3.
  • 4.

接下来查询mysql的配置文件

sudo find / -name mysql
  • 1.

使用如下命令进行清除:

sudo rm -rf xxx
  • 1.

二 安装MySQL

1.  进入 MySQL Community Downloads官网下载自己需要的安装包

2.  在linux中新建目录(笔者目录名为mysql)存放mysql文件(笔者目录位置在usr/local)

3.  将下载好的mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz上传到usr/local/mysql目录中

4.  切换到usr/local/mysql下,解压文件

tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz  //解压.tar.xz文件

tar -zvxf mysql-8.0.21-linux-glibc2.12-x86_64.tar.gz //解压.tar.gz文件
  • 1.
  • 2.
  • 3.

6.  重命名解压文件

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql
  • 1.

9.  为系统添加mysql 组和用户:

groupadd mysql
 useradd -r -g mysql mysql
  • 1.
  • 2.

10.  进入 /usr/local/mysql 目录下,修改相关权限:

//修改当前目录为mysql用户
chown -R mysql:mysql ./
  • 1.
  • 2.

11.  mysql初始化操作,记录下临时密码,之后第一次登录的时候会用到。

bin/mysqld  --initialize  --user=mysql  --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data  //运行完成会生成一个暂时的密码。
  • 1.

12. 查看初始化过程中有没有自动生成my.cnf 文件

cd /etc/   //进入 /etc/目录下
ls | grep my.cnf   //查看是否有my.cnf 文件。有则会产生结果。
  • 1.
  • 2.

13.  如果你/etc下没有生成my.cnf文件, 新建一个my-defalut.cnf文件,将其复制到/etc/my.cnf(笔者文件中未生成my.cnf 文件,所以手动新建如下)

touch my-defalut.cnf //新建一个文件
chmod 755 my-defalut.cnf // 赋予权限
cp my-defalut.cnf /etc/my.cnf // 将文件复制到/etc/ 目录下,并更名为my.cnf 文件名
  • 1.
  • 2.
  • 3.

14.  my.cnf 信息设置如下

[mysqld]
# 配置默认编码为utf8
character_set_server=utf8mb4
init_cnotallow='SET NAMES utf8mb4'

#设置表名大小写不敏感
lower_case_table_names=1

#设置mysql安装目录
basedir=/usr/local/mysql

#设置mysql数据库的数据存放目录
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock

#设置mysql的日志文件位置(这个配置文件先不要放开,不然会报找不到Mysql.log文件,等启动后再放开,在重启)
#log-error=/var/log/mysql.log

#注意了,小细节,这里的 $hostname 是linux的主机名。一般每个人主机名都是不一样的。
pid-file=/usr/local/mysql/data/$hostname.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

15.  在 /etc/profile中配置mysql环境变量

vim /etc/profile // 打开profile文件在最后追加下面命令

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

退出后让其立马生效命令:source /etc/profile
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

16.  设置为开机自启动项

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql  //添加可执行权限。
chkconfig --add mysql   // 注册启动服务
  • 1.
  • 2.
  • 3.

输入chkconfig --list //查看是否添加成功(如下表示成功)。

17.  开启服务器,登录进入mysql。

service mysql start   //开启服务器。restart重启
mysql -u root -p      //登录进入mysql,然后输入刚才第11步的临时密码,并回车。密码!QAZ2wsx
  • 1.
  • 2.

如下图则表明成功进入MySQL

至此,说明已经安装成功了~。