目录
1-1、Centos7安装【rpm安装包&&可以连外网】
1-2、Centos7【不能连外网并且所有mysql项都为空】
2、Mysql root用户处理和创建新的用户
当前服务器为Centos7,如果是CentOS6则自行下载对应的包。进入Mysql官方下载地址:https://dev.mysql.com/downloads/
点击Mysql Community Server,选择自己是使用rpm(Redhat Package Manager小红帽系统自己的安装包)方式,或者是二进制安装包,不过这里可以下载tag.gz或者tar的安装包,如下:
可以从已上传的百度网盘下载
Mysql8.0.27 | 链接: https://pan.baidu.com/s/1Q5D1--Z4_RcoO1Cmf9RP0Q 提取码: boqs |
Mysql8.0.18 | 链接: https://pan.baidu.com/s/1QjVkuENu38gA0R0pRws_IA 提取码: 2jfw |
说明:下面都会基于mysql 8.0.18进行安装,下面有基于rpm和二进制包进行安装(这里选择 tar.gz压缩格式),而 rpm安装方式又会根据镜像中是否已经存在 除了 Mysql Server之外的所有服务进行说明和安装。
操作系统就是小红帽;选择当前的Centos7版本;下载RPM Bundle即可
执行 yum repolist all | grep mysql 查看已有的mysql 项,已经有common , libs, client等其他版本的服务端
下载包:wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
或者执行下载后上传,可以使用该百度网盘地址
链接: https://pan.baidu.com/s/1dXIr8ypfwBCcURpTgXwREg 提取码: s2ca
安装:rpm -ivh mysql80-community-release-el7-11.noarch.rpm
查看:cd /etc/yum.repos.d/ 下面是否有mysql* 的两个文件
更新yum源:
yum clean all
yum makecache
查询当前启动的mysql版本 yum repolist all | grep mysql
根据mysql的信息查看 enable的项,选好版本,进行安装:
yum install mysql-community-server
启动:systemctl start mysqld.service
停止:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看当前root的密码 cat /var/log/mysqld.log | grep password
2022-02-27T06:11:57.319195Z 6 [Note] [MY-010454] [Server] A temporary
password is generated for root@localhost: oxMKeegqy4:D
执行中遇到问题:
1、yum更新源遇到问题,Status code: 404 for https://repo.huaweicloud.com/centos/8/AppStream/x86_64/
cd /etc/yum.repos.d, 在该目录下先创建一个备用文件夹,并将该目录下的所有文件备份进去:
mkdir bak cp * bak/
再执行:sed -i 's/$releasever/8-stream/' CentOS*repo
2、Error: Unable to find a match: mysql-community-server
执行yum -y install mysql-community-server遇到改报错,先执行:
yum module disable mysql 在执行安全命令
执行 yum repolist all | grep mysql 查看已有的mysql 项(common , libs, client等),可能都为空,如下:
那么上传 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 包到服务器,并使用 tar -xvf 进行解压,注意这个包不是tar.gz, 所以解压命令是 -xvf 不是 -zxvf ,如下:
那么需要使用rpm包分别安装common , libs, client, server服务,如下:
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm --nodeps --force
再执行 rpm -qa | grep mysql 命令查看安装情况:
初始化mysql,不知道怎么的 --console没有生效,可以直接查看文件日志中的 mysql root密码
mysqld --initialize --console;
cat /var/log/mysqld.log | grep password;
查看mysql服务是否真的启动了,可以执行 systemctl status mysqld, 也可以ps命令查询mysql进程,很不幸,没有启动
遇到问题不要慌, mysql这里可以三种方式排查错误信息
后面可能会遇到的问题有:
vi /usr/lib/systemd/system/mysqld.service. 删除启动动态替换的配置项$MYSQLD_OPTS
修改 /var/lib/mysql/ 命令下的文件的权限,这里我直接暴力的将所有文件权限修改为 777(所有用户读写执行权限) chmod 777 /var/lib/mysql/* 否则如下图:
先cd 到mysql bin目录,然后进行登陆 mysql -u root -p 然后根据提示输入密码
修改root密码: ALTER USER 'root'@'localhost' IDENTIFIED BY '!Kevin123';
防止在远程不能登陆:alter user root identified with mysql_native_password by '!Kevin123';
远程设置:
mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> Grant all privileges on test.* to 'root'@'%';
mysql> FLUSH PRIVILEGES;
mysql> quit;
开放端口号:
-- 查看已经开放的端口 firewall-cmd --list-ports 或 firewall-cmd --query-port=3306/tcp
-- 开启端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent