Centos 7 安装 MySQL8.0(通过 rpm 安装包进行安装)
环境:mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar、centOS7
1、删除MariaDB(若没有可以跳过)
(由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,
而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。使用rpm 命令查找出要删除的mariadb文件)
查看 mariadb 的安装包命令:
rpm -qa | grep mariadb
装卸 mariadb命令:
rpm -e mariadb-libs-xxx.el7.x86_64(自己刚才查到的mariadb安装版本) --nodeps
2、在 /usr/local/ 路径下创建 mysql 文件目录
进入根目录下的usr目录下的local目录命令:
cd /usr/local/
创建一个名为 mysql 的目录命令:
mkdir mysql
进入mysql目录命令:
cd mysql
3、安装numactl(若已经安装则跳过)
在安装mysql时会报以下错误:
mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
或bin/mysqld: error while loading shared libraries: libnuma.so.1:
安装命令
yum install numactl
4、安装wget(用于下载文件使用,已经安装则跳过)
yum install wget
5、获取下载链接,通过wget进行下载命令:
wget 下载链接地址
例如:
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
6、解压下载的 mysql 的 tar 包
解压命令
tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
7、安装解压的rpm软件包
rpm安装命令
(根据实际情况采用以下一种安装方式)
a、全部安装命令:
rpm -ivh *.rpm
b、单个安装命令:
rpm -ivh rpm软件包名称 --nodeps --force
例如
rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm --nodeps --force
安装顺序:common、libs、libs-compat、client、server、test(可选装,测试数据库使用)、
devel(可选装,嵌入式数据库函数)、embedded-compat(可选装,兼容式数据库函数)
linux RPM格式安装mysql出现 错误:依赖检测失败: mariadb-libs 被 mysql-community-libs-8.0.13-1.el7.x86_64 取代
一个命令:yum remove mysql-libs解决
清除之前安装过的依赖即可
8、安装成功后对 MySQL 数据库的初始化和相关配置
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
初始化前安装,否则会报以上错
yum install -y libaio
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
9、查看数据库的 root 登录密码(安装时随机生成的密码)
命令
cat /var/log/mysqld.log | grep password
复制密码
10、修改数据库root登录密码
进入数据库登陆界面
mysql -uroot -p
粘贴刚才复制的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自己想要设置的密码';
11、远程访问授权
create user 'root'@'%' identified with mysql_native_password by '登录密码';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
12、修改MySQL加密规则(根据自己实际情况是否选择修改)
注意:MySql8.0 版本 和 5.0 的加密规则不一样,而现在的老的可视化工具只支持旧的加密方式。
命令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root登录密码' PASSWORD EXPIRE NEVER;
flush privileges;