CentOS 8安装mysql 5.7数据库

如果服务器上已经安装了一些服务,为了避免一些冲突,这时就不得不手动来进行操作,如果是一台新服务器,我非常推荐你安装宝塔面板,可以省去你很多时间去维护一些基本服务。

本次是通过rpm方式进行安装,网络不好可以在mysql官网下载安装包再进行安装

在手动安装mysql之前,我们先卸载服务器自带的mysql

查看已安装的mysql

rpm -qa |grep mysql

安装完会出现以下一些相关组件

 未安装之前,先卸载之前默认的相关组件

rpm -e 组件名称

依次执行以下命令

wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
cd /etc/yum.repos.d/
vim mysql-community.repo

修改文件

 把自己想下载的版本的enable设置为1,0表示关闭,有多种版本进行选择,因为我需要安装5.7版本的mysql,所有把enable设置为1,其他设置为0,mysql8.0以上的版本有些语法不支持了,比如group by等,想了解更详细的说明可以查看官网资料。

配置完后,开始安装mysql

yum -y install mysql-community-server

在安装过程中可能会出现安装失败问题

报错信息

未找到匹配的参数: mysql-community-server
错误:没有任何匹配

根据官网提供的安装步骤可知,在安装之前需要先禁用mysql模块

 继续安装

yum module disable mysql
yum -y install mysql-community-server

安装完毕之后查看安装版本及启动mysql服务

mysql --version
systemctl start mysqld.service
systemctl status mysqld.service

获取系统默认生成的密码

grep 'temporary password' /var/log/mysqld.log

登录并修改默认密码

mysql -u root -p
mysql> set password = password('Test@123');

5.7默认密码安全策略较高,有需要的可以修改对应策略

8以上修改密码方式不同,如下

mysql> alter user 'root'@'localhost' identified by 'Test@123';

允许所有主机远程访问数据库

mysql> grant all privileges on *.* to '用户'@'%' identified by '密码' with grant option;

刷新权限

mysql> flush privileges; 

连接测试

连接失败,防火墙开放3306端口,使用云服务器,安全组加上3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

到这里,以为就安装成功了吗?

事实上,在实际使用的过程中还会出现很多问题,例如mysql已存在的表,但是连接使用时,却报此表不存在,这是因为mysql安装的时候需要设置大小写是否敏感。列表查询报以下错误:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre...

添加数据乱码等等...

这些问题都是mysql配置没有指定而出现的,默认安装完mysql会在/etc目录下有my.cnf文件,修改

my.cn文件,在文件末尾添加以下配置,保存并退出

lower_case_table_names=1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

character_set_server=utf8

init_connect='SET NAMES utf8'

重新启动mysql服务

systemctl restart mysqld

以上出现的问题就都能解决啦

出现问题不要慌,总有前辈遇见过,祝所有的开发小伙伴都能快速的解决bug

猜你喜欢

转载自blog.csdn.net/m0_46803792/article/details/119139555