centos7安装mysql8.x.tar压缩包

一、查看mariadb的相关包并卸

1.使用 rpm -qa | grep mariadb 命令查看;
显示为:mariadb-libs-5.5.56-2.el7.x86_64
2.使用 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 命令卸载;

二、安装mysql数据库

1.下载安装文件

下载地址:https://downloads.mysql.com/archives/community/

后缀件为:mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz,其他8.0版本也可,更具需要选择,并将该文件移动到 /usr/local/目录下。

2.解压缩包,命令,分两步:

第一步,使用xz -d 命令将xxx.tar.xz压缩包解压成xxx.tar,如下:
xz –d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

第二步,使用tar -vxf命令将xxx.tar压缩包解压,如下:
tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar

3.给包重命名为mysql
mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql


4.检查mysql组和用户是否存在,如无创建
创建mysql用户组
groupadd mysql
useradd -g mysql mysql

5.进入mysql目录并创建data目录;
cd /usr/local/mysql
mkdir data

[root@localhost /]# cd /usr/local/
[root@localhost local]# mkdir data

6.赋权限给相关目录

[root@localhost local]# chmod -R 777 /usr/local/mysql
[root@localhost local]# chmod -R 777 /usr/local/mysql/data/


7.将mysql目录的权限授给mysql用户和mysql组;
[root@localhost local]# chown -R mysql:mysql /usr/local/mysql

8.新建mysql配置文件 my.cnf

[root@localhost local]# vi /etc/my.cnf

配置文件内容如下:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#sql_model 去掉ONLY_FULL_GROUP_BY
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

 

配置好文件,附文件权限:

chmod -R 777 /etc/my.cnf  #特别注意,这个是所有用户都可读写,由于mysql的安全机制,这种权限可能会被忽视掉,导致配置文件my.cnf不生效

chmod 644 /etc/my.cnf #建议用这个,用户可读写,其他用户不可写.

[root@localhost local]# chmod 644 /etc/my.cnf

9.进入mysql 安装目录下:
 [root@localhost local]# cd/usr/local/mysql/bin/
安装MySQL,并记住随机生成的密码,每次生成都不一样:
[root@localhost bin]# ./mysqld --initialize --console

error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

rpm -qa|grep libaio   

运行该命令后发现系统中无该链接库文件

使用命令,yum install  libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,提示成功

10.启动mysql

[root@localhost bin]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# ./mysql.server start

可能会出现下面的错误:

解决办法是查看错误文件:

[root@localhost support-files]# cd /usr/local/mysql/data

我这里是忘记给文件赋权限,所以执行下:chmod -R 777 /usr/local/mysql/data/

就OK了,其他情况也有可能发生,根据具体情况查看

11.配置环境变量

[root@localhost support-files]# cp mysql.server  /etc/init.d/mysqld
[root@localhost support-files]# service mysqld restart

12.创建软连接(实现可直接命令行执行mysql)
ln -s /usr/local/mysql/bin/mysql /usr/bin

[root@localhost support-files]# ln -s /usr/local/mysql/bin/mysql /usr/bin

13.登录mysql修改默认密码,创建远程登录

[root@localhost mysql]# mysql -uroot -p
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
修改成远程登录用户:update user set host='%' where user = 'root';
授权:grant all privileges on *.* to 'root'@'%';
刷新权限:flush privileges;
使用native校验登录(可以使用Navicat for mysql等工具登录):ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

14.防火墙的设置

查看防火墙状态
    firewall-cmd --state
如果没有开启,则开启
开启防火墙: systemctl start firewalld.service
查看监听的端口: firewall-cmd --list-port
添加3306端口监听
   firewall-cmd --zone=public --add-port=3306/tcp --permanent
刷新防火墙设置
   firewall-cmd --reload

至此,完成安装。

15.加入开机启动

chkconfig --add mysqld

chkconfig mysqld on

文档整理不易,还请点个赞!!!

posted @ 2020-11-22 22:20  yang7527  阅读(1829)  评论(0编辑  收藏  举报