MySQL Weed
使用MySQL的过程中,收集的一些小知识。(2007.02.01最后更新)
MySQL伴随Linux启动
vi /etc/rc.d/rc.local
加入语句: ./mysqld_safe --user=mysql &
改变root用户密码
mysql> update mysql.user set password=password('YourPwd') where user='root';
mysql> flush privileges;
增加新用户
[1]添加一用户,使它拥有所有权限
mysql> grant all on mydb.* to myuser@"myhost" Identified by "mypassword";
[2]简单添加一用户
mysql> i nsert into mysql.user (host, user, password) values('%', 'NewUser', password('NewUserPwd'));
mysql> flush privileges;
注:最好使用grant命令。
启动/关闭MySQL服务器
/etc/rc.d/init.d/mysqld {start|stop|status|condrestart|restart}
导出/导入数据
导出:mysqldump -u root -p DATABASE_NAME > SQL_FILE_PATH
导入:mysql -u user -p DATABASE_NAME < SQL_FILE_PATH
注意:在导入数据库之前,需要在MySQL中新建一个名为DATABASE_NAME的空数据库。
启动日志
修改mysql.ini/mysql.cnf文件,在[mysqld]后添加如下形式的语句。
log="Absolte_Path_To_Log/sys.log"
log-update=" Absolte_Path_To_Log/ sys_update.log"
使MySQL区分大小写
修改文件my.ini/my.cnf,在选项组[mysqld]之后添加
lower_case_table_names=2
修改某用户的登录密码
mysqladmin -uUser -pOldPasswd passwd NewPasswd
mysql>update user set password=PASSWORD("NewPasswd") where user="myuser" and host="myhost";
查看表结构
mysql> describe TableName
修改表的字符集
mysql> alter table tblName convert to character set charsetName
修改表的表类型
mysql> alter table tblName engine engineType
SHOW
show character set -- 查看字符集
show character set
show collation
show columns
show create database
show create procedure and show create function
show create table
show create view
show databases
show engine
show engines
show errors
show grants
show index
show innodb status
show logs
show mutex status
show open tables
show privileges
Java程序调用存储过程,报权限不足
前提:数据库mydb中有存储过程myproc;MySQL用户myuser@localhost,拥有数据库mydb的所有权限(grant all on mydb.* to myuser);使用MySQL官方JDBC驱动(如mysql-connector-java-5.0.4.jar),在Java应用程序中调用myproc。
在执行该Java应用程序时,可能出现如下问题:
test_proc executed failed because : Driver requires declaration of
procedure to either contain a '\nbegin' or '\n' to follow argument
declaration, or SELECT privilege on mysql.proc to parse column types.
这表示用户 myuser@localhost 执行该存储过程的权限不足。但如果直接在MySQL客户端中使用 myuser@localhost 用户调用myproc,则没有任何权限问题。
这其实是MySQL官方JDBC驱动的问题,因为JDBC驱动的代码中除了调用 myproc外,还做了其它操作。这就可能出现权限问题。可以有如下两种解决方法:
[1]修改myproc的definer。虽然myuser已经拥有了mydb的所有权限,但由于JDBC驱动的问题,如果myproc的definer不是 myuser@localhost,那么该用户仍然无法执行存储过程。修改definer的值,使其为 myuser@localhost。
[2]赋予 myuser@localhost对
表mysql.proc的查询权限。在前面的错误提示( SELECT privilege on mysql.proc to parse
column types )中已经表明了这一点,可以执行如下授权语句:grant select on mysql.proc to myuser@localhost。
注:由于是MySQL JDBC驱动的问题,所以上述解决方法都不太好。所以在直接新建存储过程,或导入SQL文件(文件中包含创建存储过程的语句)使用的MySQL用户,最好与在Java应用程序中使用的MySQL用户保持一致。
updating...
CREATE TABLE T(
A VARCHAR(10) BINARY
);
分享到:
相关推荐
### Linxu系统下MySQL常见操作命令详细解读 #### MySQL安装与配置 在Linux系统下部署MySQL时,有几个关键路径需要了解,以便更好地管理和维护MySQL服务。 - **MySQL安装目录**:MySQL通常安装在`/usr/share/mysql...
首先,`MySQL典型示例.docx`可能是对MySQL常见操作和应用场景的详细说明。这份文档可能涵盖了从安装配置MySQL到日常管理和维护的各种实例。可能包括如何创建数据库、表,如何插入、更新和查询数据,以及如何进行索引...
本文将深入探讨MySQL线上常见的一些故障类型及其分析方法。 首先,应用无法获取到连接池的情况,这可能是由于配置不当、连接池设置过小或数据库连接耗尽导致。当数据库响应慢时,通常需要检查SQL执行时间,尤其是慢...
二、MySQL常见操作 在MySQL中常见的操作包括数据定义语言(DDL)和数据操纵语言(DML)。DDL主要用于创建、修改或删除数据库对象,如表和索引。而DML则用于增加、删除、修改或查询表中的数据。 三、数据类型 在MySQL中...
2. **以跳过权限表模式启动MySQL:** 在Linux下使用`--skip-grant-tables`参数启动MySQL,在Windows下同样操作。 3. **重置密码:** 通过MySQL命令行更新root用户的密码。 通过以上步骤,你可以有效解决MySQL安装...
6. **MySQL常见操作** - **启动和关闭MySQL服务**:可以通过命令行工具如`services.msc`或直接使用`net start mysql`、`net stop mysql`命令来启动和停止服务。 - **登录和退出MySQL**:使用`mysql -u<用户名> -p...
### MySQL常见面试问题详解 #### 1. MySQL简介与特性 - **MySQL**:MySQL是一种关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前由Oracle公司维护。它以其高性能、高可靠性和易用性著称,在互联网行业...
以下是一些常见的MySQL错误及其可能的原因和处理方法: 1. **错误1016:文件无法打开** - 这个错误可能是由于数据文件损坏、磁盘空间不足或文件权限问题导致的。解决方法可以尝试使用`mysqlcheck`工具进行修复,或...
### 常见MySQL命令总结 #### 数据库备份与恢复 **导出整个数据库** - **命令**: `mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名` - **示例**: `mysqldump -u wcnc -p smgp_...
在C#编程环境中,连接和操作MySQL数据库是常见的任务,特别是在构建桌面应用或Web应用时。本主题将详细讲解如何使用C#进行MySQL数据库的连接和操作,以及封装类的实现方式。 首先,我们需要理解C#连接MySQL的基本...
本篇文章将深入探讨由大牛总结的MySQL常见错误,并提供解决策略。 1. 错误1045: Access denied for user 'username'@'localhost' (using password: YES/NO) 这个错误通常表示用户名或密码不正确,或者是用户没有...
### MySQL常见错误及解决方案 #### 问题1:使用MySQL CommandLine Client,出现闪一下然后窗口就消失的情况,如何解决? 在初次使用MySQL CommandLine Client时,可能会遇到一个常见的问题:客户端窗口短暂显示后...
2. MyISAM 是 MySQL 的默认存储引擎,支持非事务性操作。 3. InnoDB 是 MySQL 的事务性存储引擎,支持事务和锁机制。 三、数据类型 1. MySQL 中的数据类型包括整数、浮点数、字符串、日期时间、枚举等。 2. CHAR ...
在C#编程环境中,连接和操作MySQL数据库是常见的任务,特别是在构建桌面应用或Web应用时。`MySQLHelper.cs`文件通常包含一个辅助类,用于封装数据库连接和执行SQL语句的功能。以下是一些关于“c#连接MySql操作基类”...
在本实例中,我们将探讨如何使用JSP(Java...总的来说,这个实例提供了一个基础的JSP和MySQL结合的Web应用框架,涵盖了常见的用户管理功能。开发者可以通过这个例子学习如何在实际项目中整合这两者,实现动态网站功能。
MySQL数据库操作类是一种自定义的C++类,用于简化与MySQL数据库的交互。这个类通常包含了一系列的方法,以便程序员能够方便地执行常见的数据库任务,如连接数据库、执行SQL语句、读取结果集以及断开连接。下面我们将...
标题:"centos 7.1 mysql5.7.12常见问题解决",该标题指向了 Centos 7.1 操作系统下使用 MySQL 5.7.12 版本时可能遇到的问题和解决方法。 描述:"centos 7.1.1503 系统下使用 mysql5.7.12 时遇到问题以及解决办法总结...
它覆盖了选择合适的版本和分发方式、配置环境、解决常见问题等多个方面,确保用户能够顺利地部署和运行MySQL 8.0。 综上所述,《MySQL操作手册》是一份详尽的文档,不仅涵盖了MySQL 8.0的主要特性,还提供了丰富的...
MySQL 常见错误及解决方案 MySQL 是一个功能强大且广泛使用的关系型数据库管理系统,但是在使用 MySQL 时,用户经常会遇到一些错误和问题。以下是 MySQL 常见错误及解决方案: 1. 使用 MySQL Command Line Client...
在ASP.NET中,数据库操作是常见的需求,通常我们使用ADO.NET或者特定的数据访问层(如SqlHelper)来实现。本篇文章将详细介绍一个用于与MySQL数据库交互的类——MySQLHelper,它类似于SQLHelper,使得数据库操作更为...