Commit graph

1513 commits

Author SHA1 Message Date
Timothy Smith
345054c916 Add a few comments to clarify do_query() return values in mysql_secure_installation.pl 2009-11-03 14:34:01 -07:00
Timothy Smith
e29b7ef5b8 Bug#48031: mysql_secure_installation -- bash bug regarding passwords with
special chars

This script failed when the user tried passwords with multiple spaces, \, # or
' characters.  Now proper escaping and quoting is used in all contexts.

This problem occurs in the Perl version of this script, too, so fix it in both
places.
2009-11-03 13:50:28 -07:00
Timothy Smith
d31e4636b6 Bug#48086: mysql_secure_installation does NOT work on Solaris
Remove a bash-ism (if ! ...).
2009-11-03 13:32:12 -07:00
Alexander Nozdrin
a708ba6524 Manual merge from mysql-next-mr. 2009-11-02 14:10:04 +03:00
Timothy Smith
141e796163 Bug#35106: mysql_secure_installation fails on Windows, missing "use
Term::ReadKey"

Add the missing module import.  Also, while here, fix a few glaring problems
with the script, and ensure that it behaves properly.  It seems this script
may have never been working correctly (e.g., reading password didn't chomp()
the result, so password was set with \n at the end; comparing the re-typed
password to original was done with inverted test).

Add END { cleanup(); } block to ensure the script removes temporary working
files.

Add SIG{INT} / SIG{QUIT} handler.

Do a bit of reorganization to make the code easier to understand.

Limit failed connection attempts to 3.

Use ./bin/mysql if it exists, and then fall back on mysql in PATH (before it
assumed 'mysql' in the path).  Print a nicer error if 'mysql' can't be called.

This has been tested on Windows (ActivePerl from cmd.exe, no cygwin needed)
and Linux.
2009-10-30 14:28:33 -06:00
Alexander Nozdrin
22fe8e10e2 Merge from mysql-next-mr. 2009-10-28 10:55:44 +03:00
Alexander Nozdrin
55b8f07a99 Automerge from mysql-next-mr. 2009-10-28 10:48:53 +03:00
Timothy Smith
f6406bcdd8 auto-merge 2009-11-04 14:09:34 -07:00
Sergey Glukhov
f554a3c094 5.0-bugteam->5.1-bugteam merge 2009-10-27 14:09:36 +04:00
Sergey Glukhov
f0a7ff8419 Bug#41049 does syntax "grant" case insensitive?
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note: 
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).


mysql-test/include/have_case_insensitive_fs.inc:
  test case
mysql-test/r/case_insensitive_fs.require:
  test case
mysql-test/r/grant_lowercase_fs.result:
  test result
mysql-test/r/lowercase_fs_off.result:
  test result
mysql-test/r/ps_grant.result:
  test result
mysql-test/r/system_mysql_db.result:
  changed Routine_name field collation to case insensitive
mysql-test/t/grant_lowercase_fs.test:
  test case
mysql-test/t/lowercase_fs_off.test:
  test case
scripts/mysql_system_tables.sql:
  changed Routine_name field collation to case insensitive
scripts/mysql_system_tables_fix.sql:
  changed Routine_name field collation to case insensitive
sql/sql_acl.cc:
  Problem 1:
  column_priv_hash uses utf8_general_ci collation
  for the key comparison. The key consists of user name,
  db name and table name. Thus user with privileges on table t1
  is able to perform the same operation on T1
  (the similar situation with user name & db name, see acl_cache).
  So collation which is used for column_priv_hash and acl_cache
  should be case sensitive.
  The fix:
  replace system_charset_info with my_charset_utf8_bin for
  column_priv_hash and acl_cache
  Problem 2:
  The same situation with proc_priv_hash, func_priv_hash,
  the only difference is that Routine name is case insensitive.
  So the fix is to use my_charset_utf8_bin for
  proc_priv_hash & func_priv_hash and convert routine name into lower
  case before writing the element into the hash and
  before looking up the key.
  Additional fix: mysql.procs_priv Routine_name field collation
  is changed to utf8_general_ci.
  It's necessary for REVOKE command
  (to find a field by routine hash element values).
  Note: 
  It's safe for lower-case-table-names mode too because
  db name & table name are converted into lower case
  (see GRANT_NAME::GRANT_NAME).
2009-10-27 12:09:19 +04:00
Alexander Nozdrin
2dc132b209 Merge from mysql-next-mr. 2009-10-23 15:22:21 +04:00
Alexander Barkov
b231187218 Postfix for WL#1349.
Don't do character set autodetection when running
mysql from mysql_fix_privilege_tables.
2009-10-23 13:31:14 +05:00
Alexander Nozdrin
564952afb0 Automerge from mysql-next-mr. 2009-10-22 22:06:01 +04:00
Alexander Barkov
dcb8bb23c2 Merging mysql-next-mr-merge to mysql-next-mr. 2009-10-21 15:48:22 +05:00
Alexander Nozdrin
2c3d501189 Automerge from mysql-trunk-merge. 2009-10-19 22:41:18 +04:00
Alexander Nozdrin
a1ac1b7d48 Automerge from mysql-trunk. 2009-10-19 22:40:08 +04:00
Timothy Smith
df129b749d Merge from mysql-5.4.3-beta-release 2009-10-16 20:19:36 +02:00
Sergey Glukhov
d8c3f2263f WL#751 Error message construction, backport 2009-10-15 17:23:43 +05:00
Alexander Nozdrin
c30d924dd5 Manual merge from mysql-trunk-merge. 2009-10-14 12:25:39 +04:00
Alexander Nozdrin
c69629d269 Merge from mysql-5.1. 2009-10-13 13:42:38 +04:00
Sergei Golubchik
285257f7c8 bug#33731 - INSTALL/UNINSTALL PLUGIN: Inconsistent handling of identifier case
indexed column in mysql.plugin table should use case-insensitive collation
for index lookups to work

(backport from 6.0)

sql/sql_plugin.cc:
  generate the key correctly using key_copy.
  field->store() stores the value in record format, not key format.
2009-10-12 20:15:10 +02:00
Alexander Nozdrin
13f09243e3 A backporting patch for WL#4300 (Define privileges for tablespaces).
Original revision in 6.0:
------------------------------------------------------------
revno: 2630.13.11
committer: Alexander Nozdrin <alik@mysql.com>
branch nick: 6.0-rt-wl4300
timestamp: Thu 2008-07-24 11:44:21 +0400
message:
  A patch for WL#4300: Define privileges for tablespaces.
------------------------------------------------------------

per-file messages:
  mysql-test/r/grant.result
    Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
  mysql-test/r/ps.result
    Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
  mysql-test/r/system_mysql_db.result
    Update result file: new columm 'Create_tablespace_priv' has been added to mysql.user.
  mysql-test/suite/falcon/r/falcon_tablespace_priv.result
    Test case for WL#4300.
  mysql-test/suite/falcon/t/falcon_tablespace_priv.test
    Test case for WL#4300.
  mysql-test/suite/ndb/r/ndb_dd_ddl.result
    Test case for WL#4300.
  mysql-test/suite/ndb/t/ndb_dd_ddl.test
    Test case for WL#4300.
  scripts/mysql_system_tables.sql
    New columm 'Create_tablespace_priv' has been added to mysql.user.
  scripts/mysql_system_tables_data.sql
    'CREATE TABLESPACE' is granted by default to the root user.
  scripts/mysql_system_tables_fix.sql
    Grant 'CREATE TABLESPACE' privilege during system table upgrade
    if a user had SUPER privilege.
  sql/sql_acl.cc
    Added CREATE TABLESPACE privilege.
  sql/sql_acl.h
    Added CREATE TABLESPACE privilege.
  sql/sql_parse.cc
    Check global 'CREATE TABLESPACE' privilege for the following SQL statements:
      - CREATE | ALTER | DROP TABLESPACE
      - CREATE | ALTER | DROP LOGFILE GROUP
  sql/sql_show.cc
    Added CREATE TABLESPACE privilege.
  sql/sql_yacc.yy
    Added CREATE TABLESPACE privilege.
2009-10-10 00:01:10 +04:00
Jon Olav Hauglid
2464586b75 Bug #34197 CREATE PROCEDURE fails when COMMENT truncated in non
strict SQL mode

The problem was that a COMMENT longer than 64 characters
caused CREATE PROCEDURE to fail.

This patch fixed the problem by changing the COMMENT field in 
mysql.proc from char(64) to text. The corresponding ROUTINE_COMMENT
field in INFORMATION_SCHEMA.ROUTINES is also changed from
varchar(64) to longtext.

mysql_system_tables.sql and mysql_system_tables_fix.sql updated.
Test case added to sp.test and affected result-files updated.
2009-10-09 17:35:07 +02:00
Jonathan Perkin
f021d44687 bug#41546: mysql-stress-run.pl is not packaged on Windows
Copy mysql-stress-run.pl into noinstall package.
2009-09-30 14:46:47 +01:00
Vladislav Vaintroub
b73763e0f9 Backport of the patch
http://lists.mysql.com/commits/57725

Vladislav Vaintroub	2008-11-03
Cleanup CMakeLists.txt(s) - remove winsock2 (ws2_32) from 
TARGET_LINK_LIBRARIES. 
      
Every exe or dll linked with mysys needs ws2_32, because
mysys uses winsock function WSAStartup in my_init().
However, there is no need to explicitely add ws2_32 to
the list of TARGET_LINK_LIBRARIES multiple times. 
Visual Studio comes with a handy pragma that tells linker
to add library. So patch replaces bunch of ws2_32 in 
CMakeLists with  single pragma comment(lib,"ws2_32")
in my_init.c
      
Additionally, reference to non-existing "debug" library
has been removed from TARGET_LINK_LIBRARIES. The correct
name of the library is "dbug".
2009-09-30 03:39:37 +02:00
unknown
503530f273 make_binary_distribution.sh: fix path for installing the MALLOC_LIB (to $DEST/lib) 2009-09-29 21:11:41 +02:00
unknown
4188fcbd55 make_binary_distribution and mysql.spec: add options to copy a shared library, for use by mysqld_safe, into pkglibdir during package creation 2009-09-29 08:58:32 +02:00
Alexander Nozdrin
68a9b7dbe3 Merge from mysql-5.1. 2009-09-23 11:16:11 +04:00
unknown
5ce71b22bf Add --malloc-lib=LIB option to mysqld_safe to LD_PRELOAD a shared library for mysqld 2009-09-23 01:26:08 +02:00
Alexander Nozdrin
ede2edd19b Merge from mysql-5.1. 2009-09-19 13:07:51 +04:00
Joerg Bruehe
29d0fa12f7 This is the 5.4 version of the fix for bug#47007
Unresolved reference to 'innodb_system_libs' in "mysql_config"

In 5.4.2, we use InnoDB 1.0.4 which does file IO via separate
threads, opposed to the use of asynchronous IO previously.

So there is no InnoDB call to "aio_read()" which was searched
in "librt", causing a "-lrt" value of "innodb_system_libs",
that whole variable is gone.

This fix was applied in the build of 5.4.2-beta.

scripts/Makefile.am:
  There is no "innodb_system_libs" variable any more,
  so it cannot be replaced by its value.
scripts/mysql_config.pl.in:
  InnoDB does not need any platform-specific libraries any more,
  "innodb_system_libs" may go.
scripts/mysql_config.sh:
  InnoDB does not need any platform-specific libraries any more,
  "innodb_system_libs" may go.
2009-09-08 15:35:01 +02:00
Jonathan Perkin
c7d32876f3 Install mysqld.lib 2009-09-04 17:45:07 +02:00
Jonathan Perkin
71f4bfd6c7 Only install the innodb plugin if the plugin directory exists. 2009-09-01 08:40:13 +02:00
Georgi Kodinov
40defb1d53 backport of Chad's fix for bug #39326 to 5.0-bugteam 2009-08-19 10:59:17 +03:00
Jonathan Perkin
f0e14f7181 Install innodb_plugin on Windows. 2009-08-18 16:23:15 +02:00
Guilhem Bichot
eceba8912c merge of 5.1-main into mysql-trunk.
Changes to ha_innodb.cc are not propagated to plugin, they will come back
via Oracle/Innobase if needed.
2009-08-12 15:44:34 +02:00
Guilhem Bichot
b57e4dbd88 Creation of mysql-trunk = {summit + "Innodb plugin replacing the builtin"}:
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin 
bzr rm innobase # remove the builtin
Next step: build, test fixes.
2009-08-04 13:25:19 +02:00
Joerg Bruehe
886c982730 Merge the bug fix for 37808 ("make_binary_distribution.sh")
into 5.0-build.
2009-07-21 19:37:28 +02:00
Joerg Bruehe
35d6a155a9 Merge the fix for bug#37808 into 5.1-build. 2009-07-21 18:49:42 +02:00
Joerg Bruehe
64c7dff6f5 Upmerge a bug fix from 5.0 to 5.1:
bug#37808
"make_binary_distribution" does not always generate correct names

Successfully tested on 5.1 sources.
2009-07-21 09:36:43 +02:00
Mikael Ronstrom
c75a265381 Merged in 5.1.35 2009-07-01 14:36:40 +02:00
Joerg Bruehe
4bcab578af This is a fix for bug#37808
"make_binary_distribution" does not always generate correct names

Originally, we solved deficiencies of the predefined "autoconf" macros
(at least on OS X 10.5, they do not correctly differ between "x86" and
"x86_64") by providing explicit "--platform" arguments.

With this patch, "make_binary_distribution" evaluates CFLAGS, so it
"just works" because CFLAGS contains information about the target CPU.

This patch is accompanied by a change in our build tools that drops the
setting of "--platform" arguments.

scripts/make_binary_distribution.sh:
  This is a fix for bug#37808
     "make_binary_distribution" does not always generate correct names
  
  Our platform names are the combination of operating system, architecture (CPU),
  and a possible suffix (typically "64bit", if a CPU is available in 32 bit too).
  We get these values from some predefined "autoconf" macros.
  
  However, these macros are not perfect, especially on OS X 10.5 they do not
  differ correctly between x86 (32 bit) and x86_64 (64 bit).
  Originally, we solved that by providing an explicit "--platform" argument,
  but it is better to get rid of that and ensure the script "just works".
  
  The best indication we have about the CPU is the "CFLAGS" value provided
  with "configure" and used in "make": It describes for which CPU the
  binaries are generated, not just which one was running the build.
  This approach should work even if we implement cross-compilation.
  
  So this patch evaluates CFLAGS and extracts its "-arch XYZ" part.
  
  When touching the file, I also replaced some tab characters by blanks.
2009-06-26 11:58:19 +02:00
Georgi Kodinov
a11f9409e1 automerge 2009-06-19 18:32:10 +03:00
Georgi Kodinov
014e289125 Bug #36654: mysqld_multi cannot start instances with different versions
occasionally.

mysql_multi can call mysqld_safe. In doing this it's not changing the 
current working directory. This may cause confusion in the case where 
mysqld_multi is handling instances of servers of different versions 
and the current working directory is the installation directory of one 
of these servers.

Fixed by enhancing the meaning of basedir in [mysqldN] sections of 
mysqld_multi. If specified, mysqld_multi will change the current 
working directory to the basedir directory before starting the server 
in mysqld_multi ... start ... and then change it back to what it was.

scripts/mysqld_multi.sh:
  Bug #36654: optionally preserve, change and restore the cwd when 
  starting server instances
2009-06-19 15:52:20 +03:00
Mikael Ronstrom
a22c8c5be5 Merge MySQL 5.1.35 into MySQL 5.4 2009-06-11 12:07:59 +02:00
MySQL Build Team
782b8f0550 Some portability fixes.
include/Makefile.am: use @PERL@ to call scripts/dheadgen.pl - don't rely on #! /usr/bin/perl
scripts/dheadgen.pl: use 2-arg open() for compatibility with older Perl versions
storage/innobase/srv/srv0srv.c: Don't use C++-style comments in C code
2009-06-04 18:47:38 +02:00
Joerg Bruehe
74507d486a Merge up 5.0-build into 5.1-build:
mostly just the merge changesets,
but also a change of Perl scripts to use "/usr/bin/perl" fixed.
2009-05-29 15:40:55 +02:00
Staale Smedseng
a1212080ad Bug #44736 mysqld_safe's my_which() is broken and
doesn't find 'logger'

Due to a variable quoting mistake, the $PATH environment
variable isn't parsed correctly when searching for the
existence of the desired executable(s) (logger in this 
case).

This patch removes the quotes.
2009-05-25 18:21:40 +02:00
Georgi Kodinov
feef9ed1de merged 5.1-main -> 5.1-bugteam 2009-05-15 16:03:22 +03:00
Kent Boortz
6d7f876a88 Use /usr/bin/perl as standard Perl install path (bug#44643) 2009-05-09 23:43:48 +02:00
Joerg Bruehe
d3dbf166b6 Merge main 5.0 into 5.0-build 2009-05-08 22:16:06 +02:00
Joerg Bruehe
d2fe2a71da Merge main 5.1 into 5.1-build
165 changesets with 23 conflicts:
Text conflict in mysql-test/r/lock_multi.result
Text conflict in mysql-test/t/lock_multi.test
Text conflict in mysql-test/t/mysqldump.test
Text conflict in sql/item_strfunc.cc
Text conflict in sql/log.cc
Text conflict in sql/log_event.cc
Text conflict in sql/parse_file.cc
Text conflict in sql/slave.cc
Text conflict in sql/sp.cc
Text conflict in sql/sp_head.cc
Text conflict in sql/sql_acl.cc
Text conflict in sql/sql_base.cc
Text conflict in sql/sql_class.cc
Text conflict in sql/sql_crypt.cc
Text conflict in sql/sql_db.cc
Text conflict in sql/sql_lex.cc
Text conflict in sql/sql_parse.cc
Text conflict in sql/sql_select.cc
Text conflict in sql/sql_table.cc
Text conflict in sql/sql_view.cc
Text conflict in storage/innobase/handler/ha_innodb.cc
Text conflict in storage/myisam/mi_packrec.c
Text conflict in tests/mysql_client_test.c

Updates to Innobase, taken from main 5.1:
bzr: ERROR: Some change isn't sane:
File mysql-test/r/innodb-semi-consistent.result is owned by Innobase and should not be updated.
File mysql-test/t/innodb-semi-consistent.test is owned by Innobase and should not be updated.
File storage/innobase/handler/ha_innodb.cc is owned by Innobase and should not be updated.
File storage/innobase/ibuf/ibuf0ibuf.c is owned by Innobase and should not be updated.
File storage/innobase/include/row0mysql.h is owned by Innobase and should not be updated.
File storage/innobase/include/srv0srv.h is owned by Innobase and should not be updated.
File storage/innobase/include/trx0trx.h is owned by Innobase and should not be updated.
File storage/innobase/include/trx0trx.ic is owned by Innobase and should not be updated.
File storage/innobase/lock/lock0lock.c is owned by Innobase and should not be updated.
File storage/innobase/page/page0cur.c is owned by Innobase and should not be updated.
File storage/innobase/row/row0mysql.c is owned by Innobase and should not be updated.
File storage/innobase/row/row0sel.c is owned by Innobase and should not be updated.
File storage/innobase/srv/srv0srv.c is owned by Innobase and should not be updated.
File storage/innobase/trx/trx0trx.c is owned by Innobase and should not be updated.
(Set env var 'ALLOW_UPDATE_INNOBASE_OWNED' to override.)
2009-05-08 21:04:07 +02:00
Jim Winstead
d0a1de80b4 The arguments to use for ps on Mac OS X were mis-detected by the mysql_zap
utility. (Bug #41883, patch by Nicklas Westerlund)
2009-05-07 17:53:03 -07:00
Jim Winstead
cc3f48b2e1 mysqld_safe could generate filenames with spaces and then didn't properly
quote them in later use. (Bug #33685, based on a patch by Hartmut Holzgraefe)
2009-05-07 17:25:23 -07:00
Jim Winstead
b78f9a8659 Add explanation of the possible -s values for mysqldumpslow. (Bug #35663,
based on a contribution by Ask Bjørn Hansen)
2009-05-07 10:40:00 -07:00
Jim Winstead
f72fd8fe21 Add support for wildcards in mysql_convert_table_format, and add
short options for all of the long options. (Bug #30373, original
contribution by Tobias Asplund)
2009-04-28 11:47:34 -07:00
Jim Winstead
a9a322e11f mysqld_multi still had mentions of safe_mysqld instead of mysqld_safe,
as well as some unclear example paths. (Bug #28094)
2009-04-28 11:28:03 -07:00
Jim Winstead
137ec698ff Update list of sorting options in mysqldumpslow (Bug #20454) 2009-04-28 11:19:58 -07:00
Jim Winstead
5faee8ed81 Check for MEMORY, HEAP, and BLACKHOLE in mysql_convert_table_format when
preventing a change that would result in table data loss. (Bug #27149)

Also updated mysql_convert_table_format to use --engine as the documentation
claimed, and use the engine terminology throughout instead of the obsolete
'table type'.
2009-04-28 11:12:50 -07:00
Staale Smedseng
90815182f0 Merge from 5.0-bugteam 2009-04-28 18:19:55 +02:00
Staale Smedseng
9f04d27027 Bug#35769 typo in mysqlhotcopy documentation
Fixed a number of typos, and made punctuation and
capitalization more consistent in documentation
and help.
2009-04-28 18:16:17 +02:00
Joerg Bruehe
1b4cfc3632 Upmerge the fix of an error message typo
(in "scripts/make_win_bin_dist")
from 5.0 into 5.1
2009-04-14 21:53:00 +02:00
Joerg Bruehe
5a1124fa98 Just fix a silly typo in an error message ...
scripts/make_win_bin_dist:
  Just fix a silly typo in an error message ...
  Change is so insignificant I even don't update the copyright year.
2009-04-14 21:46:56 +02:00
Joerg Bruehe
11e4e24bc7 Merge a tool change needed for cluster ("CGE") builds
to achieve the correct package names ("scripts/make_binary_distribution.sh").
2009-04-14 12:29:59 +02:00
Chad MILLER
56d421e478 Merge revert of bug32136 into 5.1. 2009-04-02 15:42:29 -04:00
Chad MILLER
02f8ec4d76 Bug#43876: mysqld_multi introduces --no-defaults which screws up my system
Bug#32136: mysqld_multi --defaults-file not respected while using \
	--mysqld=mysqld_safe

Revert change that adds "--no-defaults" to mysqld_multi.

This closes Bug#43508 and re-opens Bug#32136.
2009-04-02 11:29:28 -04:00
Joerg Bruehe
d6e40e1032 Handle the two part version number of cluster builds
(general server part + NDB part)
automatically when creating a binary package,
include only the NDBpart in the package (file) name.

scripts/make_binary_distribution.sh:
  The "version" string of a cluster build contains information
  about both the general server part and the NDB part.
  This is intentional, but it isn't suitable for the package file name.
  
  When packaging a binary build, the script now detects whether
  it is dealing with a cluster build or not.
  If it is a cluster build, the script now removes the server part
  from the version number, leaving the NDB part.
  
  Example:  "5.1.31-ndb-6.4.2"  ->  "6.4.2"
  so packages are named like
            "mysql-cluster-gpl-6.4.2-linux-i686-glibc23.tar.gz"
2009-03-31 17:31:17 +02:00
Staale Smedseng
ab958ee0bd Bug #39852 bug in mysql_setpermission
mysql_setpermission is modified to honor the $db 
variable as suggested when doing a REVOKE ALL for 
menu option 7.
2009-03-31 12:59:22 +02:00
Chad MILLER
3b32eea2a2 Fix several quoting problems, and clean up IFS on failure in my_which(). 2009-03-16 15:28:06 -04:00
Chad MILLER
c924f116f6 Bug#39326: mysqld_safe doesn't use --basedir value in search of \
my_print_defaults

Now use basedir to set an unset ledir and to find the location of
my_print_defaults .
2009-03-16 14:54:28 -04:00
Davi Arnaut
402bc523b2 Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id
The problem is that creating a event could fail if the value of
the variable server_id didn't fit in the originator column of
the event system table. The cause is two-fold: it was possible
to set server_id to a value outside the documented range (from
0 to 2^32-1) and the originator column of the event table didn't
have enough room for values in this range.

The log tables (general_log and slow_log) also don't have a proper
column type to store the server_id and having a large server_id
value could prevent queries from being logged.

The solution is to ensure that all system tables that store the
server_id value have a proper column type (int unsigned) and that
the variable can't be set to a value that is not within the range.

mysql-test/r/events_bugs.result:
  Add test case result for Bug#36540
mysql-test/r/log_tables.result:
  Update column type.
mysql-test/r/system_mysql_db.result:
  Update column type.
mysql-test/r/variables.result:
  Add test case result for server_id value range.
mysql-test/suite/sys_vars/r/server_id_basic_64.result:
  Update test case results.
mysql-test/t/events_bugs.test:
  Add test case for Bug#36540
mysql-test/t/log_tables.test:
  Fix column type.
mysql-test/t/variables.test:
  Add test case for server_id value range.
scripts/mysql_system_tables.sql:
  Columns that store the server_id value must be of type INT UNSIGNED,
  fix event (originator), general_log and slow_log (server_id) tables
  in accordance.
scripts/mysql_system_tables_fix.sql:
  Columns that store the server_id value must be of type INT UNSIGNED,
  fix event (originator), general_log and slow_log (server_id) tables
  in accordance.
sql/mysqld.cc:
  Set min and max values for the server_id variable.
  Unfortunately we can't easily change server_id variable type
  from ulong to uint32 because of the sys_var classes.
2009-03-11 17:30:56 -03:00
Tatiana A. Nurnberg
565660edfa automerge 2009-02-24 09:07:40 +01:00
Mikael Ronstrom
6db314c628 Merged Performance Version 0.2.1 with latest 5.1 tree (last push 11 feb 14.01.13 2009) 2009-02-17 13:24:09 +01:00
Tatiana A. Nurnberg
ec8de22f9f Bug#42027: Incorrect parsing of debug and verbose options for mysqldumpslow
Options got normalised to long rather than short options
since we gave primary name and alias in wrong order.
Consequently querying for the option using the short
options (the correct primary name) didn't work, rendering
the options in question inaccessible.

We restore the right order of the universe, or at least
the alii for --debug and --verbose.

scripts/mysqldumpslow.sh:
  Normalise --verbose/-v and --debug/-d to short
  options, not long options.
2009-02-16 15:38:18 +01:00
Timothy Smith
af193ed97e Auto-merge 5.1-build -> 5.1-bugteam 2009-02-07 16:29:37 +01:00
unknown
5a4e3eaa7a Merge from mysql-5.1.31-release 2009-02-05 20:34:22 +01:00
Chad MILLER
078e413e88 Merge from 5.0-bugteam. 2009-02-04 14:26:04 -05:00
Chad MILLER
243b2639cc Merge from bug tree. 2009-02-04 13:57:33 -05:00
Kent Boortz
e610f61d0e From 5.0.48 the NDB client libraries has been missing in the cluster
packages, this is now corrected (Bug#42278)
2009-01-23 02:59:03 +01:00
MySQL Build Team
e3d7170998 Incorrect test if "--short-product-tag=" was given or not 2009-01-19 17:48:05 +01:00
MySQL Build Team
afb33a2a66 Fixed typo 2009-01-17 09:29:40 +01:00
MySQL Build Team
e990578818 Added option "--short-product-tag=<string>" to "make_binary_distribution.sh",
to enable product name and server suffix to differ.
2009-01-15 20:09:58 +01:00
Jonathan Perkin
f70f527cbb bug#41828: mysql_install_db misses mysqld options when using --basedir
* pass --languages to mysqld when using --basedir
  * improve error messages when unable to find files in basedir
2009-01-06 15:08:15 +00:00
Alexey Kopytov
459af24ed2 Fixed DTrace-related build failures.
include/probes_mysql_nodtrace.h:
  Regenerated with dheadgen.pl
scripts/dheadgen.pl:
  Set the executable bit.
sql/Makefile.am:
  Since libndb.la is a libtool library, we should process objects in .libs/.
  Removed '-n' from the echo command since the Solaris version does not understand it.
  Changed the order of dependencies so that dtrace_files and dtrace_providers are
  created before probes_all.o
2008-12-23 12:05:30 +03:00
Mikael Ronstrom
4d3c035819 Remove instance manager also from Windows distribution builds 2008-12-20 17:34:32 +01:00
Mikael Ronstrom
5e9d1e8109 Merge dtrace patch with latest performance version 2008-12-20 11:53:27 +01:00
Mikael Ronstrom
cc958a18dd Backport of DTrace patches from 6.0 2008-12-20 11:01:41 +01:00
Chad MILLER
79dccabc22 Bug#32136: mysqld_multi --defaults-file not respected while using \
--mysqld=mysqld_safe

The server run didn't know the correct section to read in a
configuration file, and would read from "[mysqld]" even though
mysqld_multi had already read the defaults and made them into explicit
parameters. 

Worse, the "defaults-file" parameter says that it means "Read only
this configuration file, do not read the standard system-wide and
user-specific files", which should apply not only to mysql-multi, but
to the server also.

So, now if "defaults-file" is given, put "no-defaults" before all the
explicit parameters we read from the defaults-file and feed to the
mysqld or mysqld_safe.
2008-11-26 10:51:59 -05:00
Tatiana A. Nurnberg
c5da8fbe16 Bug#34025: mysql_config is not returning -ldl lib flag needed when using embedded server
mysql_config did not output -ldl (or equivalent) when needed for --libmysqld-libs,
so its output could be insufficient to build an application using the embedded
server.

LIBDL was already set in configure; it's now propagated all the way into the
relevant mysql_config scripts.

scripts/Makefile.am:
  We "manually" replace configure's constants in .sh scripts using sed,
  so AC_SUBST() alone is not good enough. Add LIBDL to the substitution
  list; we'll be needing it for mysql_config --libmysqld-libs
scripts/mysql_config.pl.in:
  Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (perl version)
scripts/mysql_config.sh:
  Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (shell version)
2008-11-10 22:12:15 +01:00
Chad MILLER
fb7bbdffda Merge fix for bug 34129. 2008-10-14 15:59:01 -04:00
Chad MILLER
77fec0b219 In mysqldumpslow, consume arbitrary whitespace in the Query_time line. 2008-10-14 15:52:52 -04:00
Chad MILLER
1fd6774b3d Merge fix for Bug#35754. 2008-10-03 11:54:22 -04:00
Chad MILLER
392ff10eac Bug#35754: mysql_install_db does not work if no hostname is set
Machines with hostname set to "localhost" cause uniqueness errors in 
the SQL bootstrap data.

Now, insert zero lines for cases where the (lowercased) hostname is 
the same as an already-inserted 'localhost' name.  Also, fix a few tests 
that expect certain local accounts to have a certain host name.
2008-09-24 08:59:56 -04:00
Timothy Smith
31a620089a Auto merge 5.1-build -> 5.1-bugteam 2008-09-10 19:35:11 -06:00
Magnus Svensson
69e7b28473 Merge bug#31315 2008-09-02 11:14:13 +02:00
Magnus Svensson
770cafbcfe Bug#31315 mysql_install_db fails if a default table type of NDB is set in my.cnf
- Use myisam as default storage engine when running mysqld in --bootstrap mode


scripts/mysql_install_db.sh:
  Use myisam as default storage engine when running mysqld in --bootstrap mode
2008-09-02 10:53:30 +02:00
Joerg Bruehe
4120228e12 Bug#37098 Get rid of "Installed (but unpackaged)" files in the RPM build
Merge it up from 5.0 to 5.1,
adapt to some version differences.

configure.in:
  Add an "automake condition" whether InnoDB is configured
  so that we can evaluate it for the (non)generation of "innochecksum".
  
  In 5.1, the test command must differ from 5.0.
2008-08-27 16:03:39 +02:00
Joerg Bruehe
7077649ef1 Bug#37098 Get rid of "Installed (but unpackaged)" files in the RPM build
Mostly, this affected files (programs, scripts, and manual pages)
which got built during a RPM build but were not listed in the
appropriate "%files" section of the "spec" file.
This is fixed now, they are added.

To make this consistent, this patch also makes the build of "innochecksum"
(and its inclusion in a tar.gz or other package) depend on whether InnoDB
is configured in the build.

Also, some tools to create Windows packages are irrelevant in any binary
Unix package (not the sources !), and so they are deleted before packaging.

configure.in:
  To prevent "innochecksum" from getting built even if InnoDB is not configured
  (and then being included in such packages),
  we need an "automake condition" that evaluates whether we have InnoDB.
extra/Makefile.am:
  Evaluate the new automake condition about having InnoDB,
  and make the build of "innochecksum" depend on it.
man/Makefile.am:
  Cleanup: There are manual files which we do not need,
  like those about tools for Windows builds / packaging
  (irrelevant in any Unix binary package)
  and about NDB tools which do not get built.
scripts/make_binary_distribution.sh:
  In any Unix binary package, do not include tools for Windows builds
  (and their manual pages).
  This does not affect source packages, of course.
support-files/mysql.spec.sh:
  There were several files (binaries, scripts, and manuals)
  which got built with a RPM but never packages,
  add them to the respective RPM.
2008-08-25 21:07:41 +02:00
Georgi Kodinov
b19155258e Bug#34159: mysql_install_db fails with sql_mode=TRADITIONAL
Reset session sql_mode before creating system tables as it
is done in the mysql_fix_privilege_tables.sql script.

scripts/mysql_system_tables.sql:
  reset sql mode
2008-07-31 12:28:04 +03:00
Chad MILLER
c7866ece4d Bug#34129: mysqldumpslow does not aggregate times
Query times were changed to contain subsecond information after a decimal.

Change the capturing regex to account for decimal also.
2008-07-07 18:56:53 -04:00