MySQL常见问题一

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL常见问题一

遇到的问题一

报错如下:


this is incompatible with sql_mode=only_full_group_by

1、原因

这个错误一般发生在mysql 5.7以及 5.7以上的版本中,其原因是mysql的默认配置中,sql_mode="ONLY_FULL_GROUP_BY" 这个配置严格执行了 'SQL92标准',

2、解决方法

我们可以修改 sql_mode 的配置,使其能兼容。

修改 my.ini 文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,

在 [mysqld] 下面添加代码:


sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

MySQL忘记root密码

解决方法:

停止服务

[root@cdh2 ~]# systemctl stop mariadb
[root@cdh2 ~]# systemctl status mariadb
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Mon 2020-09-07 11:03:55 CST; 11min ago
 Main PID: 3638 (code=exited, status=0/SUCCESS)
Aug 23 23:06:29 cdh2.macro.com mariadb-prepare-db-dir[3558]: http://dev.mysql.com
Aug 23 23:06:29 cdh2.macro.com mariadb-prepare-db-dir[3558]: Support MariaDB development by buying support/new features from MariaDB
Aug 23 23:06:29 cdh2.macro.com mariadb-prepare-db-dir[3558]: Corporation Ab. You can contact us about this at sales@mariadb.com.
Aug 23 23:06:29 cdh2.macro.com mariadb-prepare-db-dir[3558]: Alternatively consider joining our community based development effort:
Aug 23 23:06:29 cdh2.macro.com mariadb-prepare-db-dir[3558]: http://mariadb.com/kb/en/contributing-to-the-mariadb-project/
Aug 23 23:06:29 cdh2.macro.com mysqld_safe[3638]: 200823 23:06:29 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Aug 23 23:06:29 cdh2.macro.com mysqld_safe[3638]: 200823 23:06:29 mysqld_safe Starting mysqld daemon with databases from /va.../mysql
Aug 23 23:06:31 cdh2.macro.com systemd[1]: Started MariaDB database server.
Sep 07 11:03:17 cdh2.macro.com systemd[1]: Stopping MariaDB database server...
Sep 07 11:03:55 cdh2.macro.com systemd[1]: Stopped MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.

修改/etc/my.conf

[root@cdh2 ~]# vim /etc/my.cnf
[mysqld]
......
skip-grant-tables    # 在[mysqld]中加入该字段

重新启动

[root@cdh2 ~]# vim /etc/my.cnf
[root@cdh2 ~]# systemctl status mariadb
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-09-07 11:16:42 CST; 5h 23min ago
  Process: 7199 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
  Process: 7170 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 7198 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           ├─7198 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─7367 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/va...
Sep 07 11:16:05 cdh2.macro.com systemd[1]: Starting MariaDB database server...
Sep 07 11:16:06 cdh2.macro.com mysqld_safe[7198]: 200907 11:16:06 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Sep 07 11:16:06 cdh2.macro.com mysqld_safe[7198]: 200907 11:16:06 mysqld_safe Starting mysqld daemon with databases from /va.../mysql
Sep 07 11:16:42 cdh2.macro.com systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.


登录

[root@cdh2 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> update user set password=password('password') where user='root' and Host = 'localhost';
Query OK, 1 row affected (0.12 sec)
Rows matched: 1  Changed: 1  Warnings: 0
MariaDB [mysql]> exit
Bye


停止服务,恢复配置

[root@cdh2 ~]# systemctl stop mariadb
[root@cdh2 ~]# vim /etc/my.cnf
[mysqld]
......
# skip-grant-tables

重新登录

[root@cdh2 ~]# systemctl start mariadb
[root@cdh2 ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

远程无法登录问题

遇到的问题:用本地navicat无法连接远程MySQL

解决方法:

切换mysql数据库

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> SELECT User, Password, Host FROM user;
+------+-------------------------------------------+----------------+
| User | Password                                  | Host           |
+------+-------------------------------------------+----------------+
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | localhost      |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | cdh3.macro.com |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 127.0.0.1      |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | ::1            |
+------+-------------------------------------------+----------------+
4 rows in set (0.00 sec)


可以看到只有本机才能访问

设置访问权限

MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

其中"."代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址,也可以使用一个唯一的地址进行替换,只有一个地址能够访问。如果是某个网段的可以使用地址与%结合的方式,如10.0.42.%。IDENTIFIED BY 'password',这个password是指访问密码。WITH GRANT OPTION允许级联授权。

刷新访问权限表(不要忘了)


MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

1.重新查看用户表

MariaDB [mysql]> SELECT User, Password, Host FROM user;
+------+-------------------------------------------+----------------+
| User | Password                                  | Host           |
+------+-------------------------------------------+----------------+
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | localhost      |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | cdh3.macro.com |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 127.0.0.1      |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | ::1            |
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | %              |
+------+-------------------------------------------+----------------+
5 rows in set (0.00 sec)

8.验证远程访问


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
分布式计算 关系型数据库 数据处理
Dataphin常见问题之没有建表的权限如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
2天前
|
安全 关系型数据库 数据管理
DMS产品常见问题之香港地区RDS开启安全访问代理失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
2天前
|
DataWorks 安全 关系型数据库
DMS产品常见问题之香港RDS走代理失败如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
2天前
|
SQL 安全 关系型数据库
MySQL有哪些常见问题
MySQL有哪些常见问题
|
2天前
|
关系型数据库 MySQL API
Flink CDC产品常见问题之mysql整库同步到starrock时任务挂掉如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2天前
|
SQL DataWorks 关系型数据库
DataWorks常见问题之dataworks同步Rds任务失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
2天前
|
监控 关系型数据库 MySQL
Flink CDC产品常见问题之flink-cdc任务抓取全量的mysql数据不生效如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2天前
|
运维 安全 网络安全
Flink CDC产品常见问题之flink1.18同步mysql-starrocks pipeline时报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2天前
|
消息中间件 关系型数据库 MySQL
Flink CDC产品常见问题之flinkcdc3同步mysql到doris的时候语句不同步如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2天前
|
关系型数据库 MySQL 数据库
龙蜥操作系统上安装MySQL:步骤详解与常见问题解决
龙蜥操作系统上安装MySQL:步骤详解与常见问题解决