centos 7 安装 mysql5.7【openCloudOS 安装 mysql】

原文:https://blog.csdn.net/dengfengan/article/details/105115349

第一步:下载MySQL安装

[root@steel home]# cd /home/data
[root@steel data]# ls
[root@steel data]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
-bash: wget: 未找到命令
[root@steel data]# yum -y install wget
(如果失败,执行:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  ,再重试即可)

下载完在 data 目录会多一个文件:mysql57-xxx的文件,这个就是mysql安装源

安装mysql安装源

[root@steel data]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

第二步,在线安装MySQL

[root@steel data]#  yum -y install mysql-community-server

【如果使用的是腾讯的 openCloudOS 系统,在执行这句命令之前,先执行:yum -y module disable mysql】

(如果失败,执行:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 ,然后再重试)

第三步,启动MySQL服务

[root@steel data]# systemctl start mysqld

第四步,设置开机启动

[root@steel data]# systemctl enable mysqld
[root@steel data]# systemctl daemon-reload

第五步,修改root登录密码

mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。

[root@steel data]# cat /var/log/mysqld.log

 复制此密码,使用此密码登录root 【注意:这里最好使用 -u 中间加空格的方式来输入账号,-p 空格,来输入密码】

 修改密码, mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Steel1988#';

第六步,设置允许远程登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Steel1988#' WITH GRANT OPTION;

第七步,exit;   退出

第八步,防火墙开放3306端口

[root@steel data]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@steel data]# firewall-cmd --reload
success

firewall-cmd --state (查看防火墙是否启动)

firewall-cmd --list-ports(查看开放的端口)【开启了某个端口,要查看前,需要重启防火墙才可以看到】

第九步,配置mysql默认编码为utf-8(最好改成 utf8mb4)

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置

character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

  :wq保存退出

第十步,重启MySQL

[root@steel data]# systemctl restart mysqld

第十一步,登录root用户查看编码

mysql> show variables like '%character%';

第十二步,使用可视化工具测试远程连接

结束。

 === 使用 mysql 的分组 group by 操作报:=====

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'house.a.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

直接在 linux 中:

vi /etc/my.cnf

然后找 sql_mode ,如果有,去掉 ONLY_FULL_GROUP_BY ,保存重启 mysql 即可;如果没有,在 [mysqld] 下面,添加:

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

然后同样保存重启 mysql 即可

posted @ 2022-05-02 11:29  雪化山河  阅读(344)  评论(0编辑  收藏  举报