Centos安装mysql8.0 rpm方式

1.下载mysql rpm包

执行以下命令
# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
# rpm -ivh mysql80-community-release-el7-1.noarch.rpm
# yum install mysql-server

可能出现
Failing package is: mysql-community-server-8.0.34-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysq

 yum -y install mysql-community-server --nogpgcheck

2 初始化MySQL:

# mysqld --initialize

3 成功安装之后重启mysql服务

# service mysqld restart

可能出现的问题
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 错误

查看日志tail -200f /var/log/mysqld.log 后发现是文件夹的写入权限问题在这里插入图片描述
执行以下命令即可

ll /var/lib/mysql |grep mysql
chown -R mysql:mysql /var/lib/mysql

4 检测是否安装完成

# service mysqld status

5进入mysql

mysql

出现密码错误问题

停止服务

service mysqld stop

设置免密进入mysql

vi /etc/my.cnf

最后加上

skip-grant-tables

重启mysql服务

# service mysqld restart

使用 mysql -u root 或者 mysql进入控制台

查询修改root密码为空字符

mysql> show databases;

mysql> use mysql;

mysql> update user set authentication_string='' where user='root';

退出删除之前加上的 “skip-grant-tables”
然后重启mysql
再进入mysql控制台

创建用户和设置密码支持远程连接

mysql> show databases;
mysql> use mysql;
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'yourpassword';
创建用户root 密码为yourpassword

可能出现

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

重置密码

alter user  user() identified by 'xxx';

修改MySQL8.0的密码的编码方式,由于MySQL8.0修改了他的编码方式,而我们的远超登录文件好像又没有这个编码方式的密码,因此,就只能将密码的编码方式修改为原来的编码方式了,不然就没有方法登陆

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';

设置用户权限

GRANT SELECT,INSERT,UPDATE,DELETE  ON *.* TO 'root'@'%';
设置user用户拥有增删改查权限

GRANT ALL  ON *.* TO 'root'@'%';
设置user用户拥有最高权限

参考资料
https://blog.youkuaiyun.com/u012946310/article/details/81880050
https://blog.youkuaiyun.com/qq_25340149/article/details/84307547

<think>嗯,用户想在CentOS 7上通过RPM安装MySQL 8.0。我之前已经整理过相关的引用资料,现在需要结合这些信息来构建一个清晰的步骤指南。首先,需要确认用户的系统版本是否匹配,CentOS 7的话没问题。接下来,用户可能需要下载正确的RPM包,这里要提到官方网站或者镜像源,比如MySQL官网或清华镜像站,这样用户能找到资源。 然后,安装前的准备工作是关键。用户可能没有意识到需要先移除MariaDB,所以必须强调这点。引用中提到使用rpm -e --nodeps来删除依赖,这点很重要,避免冲突。另外,安装顺序也是需要注意的地方,common、libs、client、server的顺序不能错,尤其是server可能需要忽略依赖,否则可能会安装失败。 初始化MySQL数据库的步骤也需要详细说明,包括如何初始化数据目录,修改权限,启动服务。用户可能需要知道如何设置开机启动,以及如何修改默认密码,这部分要写得清楚,避免用户遇到权限问题或者启动失败的情况。 另外,开放防火墙端口也是容易被忽略的一步,特别是如果用户需要在远程访问数据库的话,必须开启3306端口或者配置防火墙规则。最后,验证安装是否成功,通过登录MySQL并执行简单命令,这样用户能确认安装是否完成。 在注意事项里,应该提到如果安装过程中出现依赖错误,可能需要检查包的版本是否兼容,或者是否遗漏了某些步骤。还有,安全方面的建议,比如修改默认密码,创建新用户等,都是用户可能需要的后续操作。 用户可能的疑问包括安装过程中遇到的依赖问题,如何处理,或者初始化时出现权限错误,这时候需要参考引用中的步骤,比如使用chown命令修改目录权限。另外,如果无法启动服务,可能需要查看日志文件,比如/var/log/mysqld.log,来排查问题。 最后,生成的相关问题需要覆盖用户可能进一步的需求,比如如何配置远程访问、修改密码策略、数据目录迁移等,这些都是安装后常见的操作,能够帮助用户更好地使用MySQL。</think>### CentOS 7系统通过RPM安装MySQL 8.0的完整步骤 #### 一、环境准备 1. 确认系统版本: ```bash cat /etc/redhat-release # 应输出"CentOS Linux release 7.x" ``` 2. 下载MySQL 8.0 RPM包: - 官方地址:https://dev.mysql.com/downloads/mysql/ - 或使用清华镜像源下载`mysql-8.0.*.rpm-bundle.tar`[^3] #### 二、安装前准备 1. 移除MariaDB依赖: ```bash rpm -qa | grep mariadb # 查询已安装的mariadbrpm -e --nodeps mariadb-libs # 强制移除[^2] ``` 2. 创建安装目录: ```bash mkdir /opt/mysql && cd /opt/mysql ``` #### 三、安装RPM包(按顺序执行) ```bash # 解压安装包(如果下载的是tar包) tar -xvf mysql-8.0.*.rpm-bundle.tar # 安装基础组件 rpm -ivh mysql-community-common-8.0*.rpm rpm -ivh mysql-community-libs-8.0*.rpm rpm -ivh mysql-community-client-8.0*.rpm rpm -ivh mysql-community-server-8.0*.rpm --nodeps # 忽略依赖[^2] ``` #### 四、初始化数据库 1. 初始化数据目录: ```bash mysqld --initialize-insecure # 生成空密码[^4] chown mysql:mysql /var/lib/mysql -R ``` 2. 启动服务并设置开机启动: ```bash systemctl start mysqld systemctl enable mysqld ``` #### 五、安全配置 1. 设置root密码: ```bash mysqladmin -u root password "新密码" ``` 2. 验证安装: ```bash mysql -u root -p ``` #### 六、防火墙配置(可选) ```bash firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload ``` #### 注意事项 1. 若遇到依赖错误,可使用`yum install perl numactl openssl`补全依赖[^3] 2. 数据目录默认路径为`/var/lib/mysql`,需要至少1GB可用空间[^4] 3. 首次登录后建议执行`ALTER USER 'root'@'localhost' IDENTIFIED BY '更复杂密码';`[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值