**Centos安装Mysql8详细步骤
环境:CentOS7+MySQL8
**

rpm包安装
一、下载mysql rpm bundle包

注意:这里只是给一个安装思路,官网安装包的版本一直在更新,这里下载链接可能会失效。建议去官网下载自己想要的版本。
MySQL官网下载链接:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
复制下载连接下载

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.29-1.el8.x86_64.rpm-bundle.tar

二、解压rpm bundle包

tar xvf mysql-8.0.29-1.el8.x86_64.rpm-bundle.tar 

在这里插入图片描述

建议查看并卸载mariadb

rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-*

在这里插入图片描述

三、安装mysql

注意:安装时注意下面的rpm包的名,如果版本一样可以直接复制安装

rpm -ivh mysql-community-common-8.0.29-1.el8.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.29-1.el8.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.29-1.el8.x86_64.rpm 

rpm -ivh mysql-community-client-8.0.29-1.el8.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.29-1.el8.x86_64.rpm 

rpm -ivh mysql-community-server-8.0.29-1.el8.x86_64.rpm

四、查看用户和用户组是否有mysql,如果没有创建mysql组和用户并赋予权限
在这里插入图片描述

创建用户组和用户

#groupadd mysql 
#useradd -r -g mysql mysql

五、初始化mysql并常看账户密码
初始化

mysqld --initialize --console

启动mysql服务查看初始密码

chown -R mysql:mysql /var/lib/mysql/
systemctl start mysqld
cat /var/log/mysqld.log  | grep localhost

在这里插入图片描述

登陆mysql

mysql -uroot -p

在这里插入图片描述

六、修改mysql中root的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
#或者update user set password=password("123456") where user="root";

flush privileges;

其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。
如果出现如下错误:
在这里插入图片描述

是以为密码的复杂度不符合默认规定,如下命令查看mysql默认密码复杂度:

SHOW VARIABLES LIKE 'validate_password%';
#如果不能打开打印下面的图片就需要安装validate_password插件
INSTALL COMPONENT 'file://component_validate_password';

在这里插入图片描述

如需修改密码复杂度参考如下命令:

set global validate_password_policy=LOW;

在这里插入图片描述

set global validate_password_length=6;

在这里插入图片描述

七、开启mysql的远程访问
执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.19.128,如要开启所有的,用%代替IP):

create user root@'%' identified by 'admin123';
grant all privileges on *.* to root@'%' with grant option;
#或者update user set Host='%' where User='root';
flush privileges;
grant all privileges on *.* to 'root'@'%' identified by 'admin123' with grant option;

说明:任意的IP都可以登录mysql

grant all privileges on *.* to ‘root’@‘172.16.254.103’ identified by ‘root’ with grant option;

说明:只有IP为172.16.254.103的可以登录mysql
%代表任意可达的访问mysql数据库服务器客户端IP,可以根据实际情况修改为指定的客户端IP。

注:password–是你设置你的mysql远程登录密码。

Linux通用包安装(适用于其它Linux操作系统安装)
1、下载mysql包

在这里插入图片描述

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

2.安装mysql
2.1 在/opt/mysql/mysql-8.0.30/下安装mysql文件
解压mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz到/opt/mysql并修改文件夹名mysql-8.0.30

#在opt创建mysql文件夹

mkdir -p /opt/mysql


#解压xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz到opt并重名

tar xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /opt/mysql/
cd /opt/mysql/
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0.30

2.2创建用户组以及用户和密码

groupadd mysql
 useradd -g mysql mysql

2.3在/opt/mysql/mysql-8.0.30/下 创建 data 数据存储目录 /opt/mysql/mysql-8.0.30/data

mkdir -p /opt/mysql/mysql-8.0.30/data

2.4授权用户 (如:下列配置my.cnf 时指定的目录都需给mysql 用户授权)

chown -R mysql.mysql /opt/mysql/mysql-8.0.30/

在这里插入图片描述
2.5在opt/mysql/mysql-8.0.30下执行

cd /opt/mysql/mysql-8.0.30/bin/
./mysqld --user=mysql --basedir=/opt/mysql/mysql-8.0.30 --datadir=/opt/mysql/mysql-8.0.30/data/ --initialize --lower-case-table-names=1

说明:
初始化基础信息 切记切记切记mysql8 一定要在初始化时设置 不区分大小写,不然后续修改和删除重装没区别
初始化后在原始my.con 下lower_case_table_names = 1 是无效的,所以一定要在初始化时加上 --lower-case-table-names=1

在这里插入图片描述
记下此处红色标记的密码,切记

2.6添加服务

cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
#添加服务
chkconfig --add mysql
ln -s /opt/mysql/mysql-8.0.30/bin/mysql /usr/bin

此处启动服务会报错

在这里插入图片描述

2.7新建文件 /etc/my.cnf (此处给出我的my.cnf)

cat >/etc/my.cnf <<EOF
[mysqld]
#设置mysql的安装目录
basedir=/opt/mysql/mysql-8.0.30/
#设置mysql数据库的数据的存放目录
datadir=/opt/mysql/mysql-8.0.30/data
# 设置客户端默认字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1

# 默认使用“mysql_native_password”插件认证 
default_authentication_plugin=mysql_native_password
#注释mysqld_safe 下的所有配置 系统会输出到 datadir目录下
#[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
EOF

启动数据库服务

services mysql start

服务管理

service mysql start #服务启动
service mysql status #查看服务状态
service mysql stop #停止服务
service mysql restart #重启服务

在这里插入图片描述
服务启动成功

2.8 登录mysql 并修改密码

#进入mysql 控台
mysql mysql -uroot -p
#修改密码
alter user 'root'@'localhost' identified by '[密码]';  
#刷新权限
flush privileges;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐