先找到官网:
选择适合的下载:https://dev.mysql.com/downloads/mysql/
跳过注册,直接下载:https://dev.mysql.com/downloads/file/?id=487927
获取到文件地址,在centos中直接下载:
wget -P /software/mysql/ https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-el8-x86_64.tar
查看centos是否自带mariadb:
rpm -qa | grep mariadb
查看centos是否安装过MySQL:
rpm -qa | grep -i mysql
那么就只需要卸载mariadb就可以了:
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
执行命令后检查一下:
确实没有了。
安装依赖:
yum install perl
yum -y install autoconf
已经下载好的文件:
tar文件只是把多个文件或文件夹打包合成一个文件,本身并没有进行压缩。
tar.gz是进行过压缩的文件。
如果一个文件的后缀是tar.gz,那么说明打包的时候进行了压缩,所以解包的使用也同样需要解压缩。
可以使用如下命令得到解好的文件:
tar -zxvf xxxx.tar.gz
也可以分两步走,先解压,再解包:
gunzip xxxx.
tar -xvf xxxx.tar
参考
解压:
tar -xvf mysql-8.0.17-el8-x86_64.tar
解压出来这些东西:
开始安装就报错了:
据说时因为glibc版本不符合安装要求,需要升级:从以下地址下载:
http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
解压:
tar zxvf glibc-2.28.tar.gz
glibc-2.28-build]# ../glibc-2.28/configure --prefix=/software/glbic/glibc-2.28-instal
make-4.2]# ./config --prefix=/software/make/make-4.2-build
[root@izbp1d3n7n9equ3laipledz gcc]# cd gcc-8.3.0
[root@izbp1d3n7n9equ3laipledz gcc-8.3.0]# ./contrib/download_prerequisites
修改环境变量:
vim /etc/profile
在最下面写入export PATH=$PATH:新地址
参考资料
[1]Centos7.4安装Mysql5.6
[2]阿里云CentOS7.3安装MySQL以及配置远程连接
用编译的方式安装MySQL依赖的东西太多了,bug多多,以后再折腾了,还是换种简单点的安装方式:
下载文件:
wget -P /sofrware/mysql/mysql-57 http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
cd /sofrware/mysql/mysql-57
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server
安装完成后,重启服务,尝试登录:
service mysqld restart #重启服务
ps -ef|grep mysqld #查看是否有mysqld相关进程
mysql -u root -p #如果服务启动了,就可以尝试登录了
密码错误,我们来更改密码:
grep "password" /var/log/mysqld.log #查看安装初始密码
然后复制以上密码,进行登录:
mysql -u root -p
直接选中,然后左键即可。
然后重置密码:
alter user 'root'@'localhost' identified by '密码';
密码在默认情况下是有要求的,过于简单的密码无法设置,可以更改设置后再设置为简单的密码。
然后开始使用,因为要使用中文,为了避免不必要的麻烦,先把编码给改了:
查看编码情况:show variables like '%char%';
service mysqld stop #停止服务
service mysqld status #验证状态
修改配置文件:
使用命令:
service mysqld start
mysql -u root -p
show variables like '%char%';
可以看到效果如下:
其中的character_set_system
是系统的编码,不用管。
我们尝试新建一个表,看下编码:
看到在修改编码之前已经存在的数据库的编码不会自动更改,新建的表的编码也还是之前的编码。
我们新建一个数据库,再在里面新建一个表试试:
create database test2;
use test2;
create table test2(id varchar(24));
show create table test2;
可以看到,编码已经更改了,是想要的utf8mb4,往表里写中文也没有问题了。