Centos7安装Mysql5.7.39
1、 检测是否安装Mariadb及Mysql数据库
1.1、检测是否安装mysql
rpm -qa | grep mysql
1.2、检测是否安装Mariadb
rpm -qa|grep mariadb
2、删除mysql/Mariadb
2.1、mysql删除,执行命令:
cp /etc/my.cnf /etc/my.cnf.bak
yum remove mysql mysql-server mysql-libs mysql-server;
find / -name mysql 将找到mysql相关东西delete掉(rm -rf /var/lib/mysql);
执行命令:rm /etc/my.cnf (删除my.cnf文件)
查看是否还有mysql软件,执行命令:
执行命令:rpm -qa|grep mysql
如果存在的话,继续删除即可。
2.2、Mariadb删除:
执行命令:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3、下载安装包,下载路径 https://dev.mysql.com/downloads
选择下载版本 这里以5.7.39为例 mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
4、上传服务器并解压安装包
mkdir -p /usr/local/mysql
tar -xvf mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
5、按顺序安装
rpm -ivh mysql-community-common-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.39-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.39-1.el7.x86_64.rpm
安装server可能会报错比如
原因是MySQL 依赖于该libaio 库。如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。yum search libaio
yum install libaio
6、修改数据库数据归属用户
chown mysql:mysql -R /var/lib/mysql
7、初始化
mysqld --initialize
8、重启mysql服务
systemctl start mysqld
如果发现报错, cat /var/log/mysqld.log 看报错日志解决
提示 The innodb_system data file 'ibdata1' must be writable的原因可以参考 https://blog.csdn.net/weixin_40744265/article/details/91398308
9、访问mysql
mysql -u root -p
通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
10、如果出现需要密码,但是又不知道密码
10.1、修改mysql配置文件vim /etc/my.cnf
10.2、在 [mysqld] 中加上一行跳过权限限制 skip-grant-tables
10.3、重启mysql服务 systemctl restart mysqld
10.4、访问mysql mysql -u root -p
10.5、修改用户密码
但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
update mysql.user set authentication_string=password('123456') where user='root';
10.6、刷新权限
flush privileges
10.7、重启mysql服务
systemctl restart mysqld
11、配置远程连接
11.1、去掉my.cnf的skip-grant-tables ,重启服务重新进入命令行
11.2、SET PASSWORD = PASSWORD('你的密码');
11.3、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
11.4、FLUSH PRIVILEGES;
12、配置数据库忽略大小写
vim /etc/my.cnf 加上 lower_case_table_names=1 ,然后再执行重启命令 systemctl restart mysqld 即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通