Enable ndbcluster support, fix a couple of small issues
This commit is contained in:
		
							parent
							
								
									20564e52c0
								
							
						
					
					
						commit
						e9e34fccd8
					
				
							
								
								
									
										15
									
								
								my.cnf
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								my.cnf
									
									
									
									
									
								
							| @ -6,6 +6,21 @@ user=mysql | |||||||
| # clients (those using the mysqlclient10 compatibility package). | # clients (those using the mysqlclient10 compatibility package). | ||||||
| old_passwords=1 | old_passwords=1 | ||||||
| 
 | 
 | ||||||
|  | # To allow mysqld to connect to a MySQL Cluster management daemon, uncomment | ||||||
|  | # these lines and adjust the connectstring as needed. | ||||||
|  | #ndbcluster | ||||||
|  | #ndb-connectstring="nodeid=4;host=localhost:1186" | ||||||
|  | 
 | ||||||
| [mysqld_safe] | [mysqld_safe] | ||||||
| log-error=/var/log/mysqld.log | log-error=/var/log/mysqld.log | ||||||
| pid-file=/var/run/mysqld/mysqld.pid | pid-file=/var/run/mysqld/mysqld.pid | ||||||
|  | 
 | ||||||
|  | [ndbd] | ||||||
|  | # If you are running a MySQL Cluster storage daemon (ndbd) on this machine, | ||||||
|  | # adjust its connection to the management daemon here. | ||||||
|  | # Note: ndbd init script requires this to include nodeid! | ||||||
|  | connect-string="nodeid=2;host=localhost:1186" | ||||||
|  | 
 | ||||||
|  | [ndb_mgm] | ||||||
|  | # connection string for MySQL Cluster management tool | ||||||
|  | connect-string="host=localhost:1186" | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ This patch also improves the documentation a tad. | |||||||
| diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README
 | diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README
 | ||||||
| --- mysql-5.0.40.orig/mysql-test/README	2007-04-20 10:14:42.000000000 -0400
 | --- mysql-5.0.40.orig/mysql-test/README	2007-04-20 10:14:42.000000000 -0400
 | ||||||
| +++ mysql-5.0.40/mysql-test/README	2007-05-23 14:41:03.000000000 -0400
 | +++ mysql-5.0.40/mysql-test/README	2007-05-23 14:41:03.000000000 -0400
 | ||||||
| @@ -6,6 +6,14 @@
 | @@ -6,6 +6,17 @@
 | ||||||
|  actually have a co-existing MySQL installation. The tests will not |  actually have a co-existing MySQL installation. The tests will not | ||||||
|  conflict with it. |  conflict with it. | ||||||
|   |   | ||||||
| @ -17,12 +17,15 @@ diff -Naur mysql-5.0.40.orig/mysql-test/README mysql-5.0.40/mysql-test/README | |||||||
| +	sudo -u mysql ./mysql-test-run
 | +	sudo -u mysql ./mysql-test-run
 | ||||||
| +This will use the installed mysql executables, but will run a private copy
 | +This will use the installed mysql executables, but will run a private copy
 | ||||||
| +of the server process (using data files within /usr/share/mysql-test),
 | +of the server process (using data files within /usr/share/mysql-test),
 | ||||||
| +so you need not start the mysqld service beforehand.
 | +so you need not start the mysqld service beforehand.  If you have not
 | ||||||
|  | +installed mysql-cluster, use
 | ||||||
|  | +	sudo -u mysql ./mysql-test-run --skip-ndbcluster
 | ||||||
|  | +to skip the cluster-related tests.
 | ||||||
| +
 | +
 | ||||||
|  All tests must pass. If one or more of them fail on your system, please |  All tests must pass. If one or more of them fail on your system, please | ||||||
|  read the following manual section for instructions on how to report the |  read the following manual section for instructions on how to report the | ||||||
|  problem: |  problem: | ||||||
| @@ -25,7 +33,8 @@
 | @@ -25,7 +36,8 @@
 | ||||||
|   |   | ||||||
|  With no test cases named on the command line, mysql-test-run falls back |  With no test cases named on the command line, mysql-test-run falls back | ||||||
|  to the normal "non-extern" behavior. The reason for this is that some |  to the normal "non-extern" behavior. The reason for this is that some | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								mysql-no-dbug.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								mysql-no-dbug.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | Don't build the dbug manual.  We aren't going to install it anyway, so | ||||||
|  | there's no need to do so.  Attempting to build it causes crashes if one | ||||||
|  | has built with -DDBUG_OFF, as we do by default.  Per bug #437053. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | diff -Naur mysql-5.0.51a.orig/dbug/Makefile.am mysql-5.0.51a/dbug/Makefile.am
 | ||||||
|  | --- mysql-5.0.51a.orig/dbug/Makefile.am	2008-01-11 09:43:29.000000000 -0500
 | ||||||
|  | +++ mysql-5.0.51a/dbug/Makefile.am	2008-07-27 12:21:56.000000000 -0400
 | ||||||
|  | @@ -35,7 +35,7 @@
 | ||||||
|  |  factorial_SOURCES =     my_main.c factorial.c | ||||||
|  |  dbug_analyze_SOURCES =  dbug_analyze.c | ||||||
|  |   | ||||||
|  | -all:            user.t user.ps
 | ||||||
|  | +all:
 | ||||||
|  |   | ||||||
|  |  user.t:         user.r $(NROFF_INC) | ||||||
|  |  		-nroff -mm user.r > $@ | ||||||
| @ -46,7 +46,7 @@ start(){ | |||||||
| 	chmod 0640 "$errlogfile" | 	chmod 0640 "$errlogfile" | ||||||
| 	[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" | 	[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" | ||||||
| 	if [ ! -d "$datadir/mysql" ] ; then | 	if [ ! -d "$datadir/mysql" ] ; then | ||||||
| 	    action $"Initializing MySQL database: " /usr/bin/mysql_install_db | 	    action $"Initializing MySQL database: " /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql | ||||||
| 	    ret=$? | 	    ret=$? | ||||||
| 	    chown -R mysql:mysql "$datadir" | 	    chown -R mysql:mysql "$datadir" | ||||||
| 	    if [ $ret -ne 0 ] ; then | 	    if [ $ret -ne 0 ] ; then | ||||||
| @ -60,7 +60,7 @@ start(){ | |||||||
| 	# but we need to be sure. | 	# but we need to be sure. | ||||||
| 	/usr/bin/mysqld_safe   --datadir="$datadir" --socket="$socketfile" \ | 	/usr/bin/mysqld_safe   --datadir="$datadir" --socket="$socketfile" \ | ||||||
| 		--log-error="$errlogfile" --pid-file="$mypidfile" \ | 		--log-error="$errlogfile" --pid-file="$mypidfile" \ | ||||||
| 		>/dev/null 2>&1 & | 		--user=mysql >/dev/null 2>&1 & | ||||||
| 	ret=$? | 	ret=$? | ||||||
| 	# Spin for a maximum of N seconds waiting for the server to come up. | 	# Spin for a maximum of N seconds waiting for the server to come up. | ||||||
| 	# Rather than assuming we know a valid username, accept an "access | 	# Rather than assuming we know a valid username, accept an "access | ||||||
|  | |||||||
							
								
								
									
										126
									
								
								mysql.spec
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								mysql.spec
									
									
									
									
									
								
							| @ -1,6 +1,6 @@ | |||||||
| Name: mysql | Name: mysql | ||||||
| Version: 5.0.51a | Version: 5.0.51a | ||||||
| Release: 1%{?dist} | Release: 2%{?dist} | ||||||
| Summary: MySQL client programs and shared libraries | Summary: MySQL client programs and shared libraries | ||||||
| Group: Applications/Databases | Group: Applications/Databases | ||||||
| URL: http://www.mysql.com | URL: http://www.mysql.com | ||||||
| @ -16,6 +16,9 @@ Source1: mysql.init | |||||||
| Source3: my.cnf | Source3: my.cnf | ||||||
| Source4: scriptstub.c | Source4: scriptstub.c | ||||||
| Source5: my_config.h | Source5: my_config.h | ||||||
|  | Source6: ndbd.init | ||||||
|  | Source7: ndb_mgmd.init | ||||||
|  | Source8: ndb_types.h | ||||||
| # Working around perl dependency checking bug in rpm FTTB. Remove later. | # Working around perl dependency checking bug in rpm FTTB. Remove later. | ||||||
| Source999: filter-requires-mysql.sh  | Source999: filter-requires-mysql.sh  | ||||||
| Patch1: mysql-libdir.patch | Patch1: mysql-libdir.patch | ||||||
| @ -30,6 +33,7 @@ Patch9: mysql-bdb-link.patch | |||||||
| Patch10: mysql-bdb-open.patch | Patch10: mysql-bdb-open.patch | ||||||
| Patch11: mysql-innodb-crash.patch | Patch11: mysql-innodb-crash.patch | ||||||
| Patch12: mysql-ssl.patch | Patch12: mysql-ssl.patch | ||||||
|  | Patch13: mysql-no-dbug.patch | ||||||
| Patch14: mysql-ss-test.patch | Patch14: mysql-ss-test.patch | ||||||
| Patch15: mysql-stack-guard.patch | Patch15: mysql-stack-guard.patch | ||||||
| 
 | 
 | ||||||
| @ -86,6 +90,22 @@ client/server implementation consisting of a server daemon (mysqld) | |||||||
| and many different client programs and libraries. This package contains | and many different client programs and libraries. This package contains | ||||||
| the MySQL server and some accompanying files and directories. | the MySQL server and some accompanying files and directories. | ||||||
| 
 | 
 | ||||||
|  | %package cluster | ||||||
|  | 
 | ||||||
|  | Summary: MySQL Cluster daemons and related files | ||||||
|  | Group: Applications/Databases | ||||||
|  | Requires: %{name} = %{version}-%{release} | ||||||
|  | Conflicts: MySQL-storage-cluster | ||||||
|  | Conflicts: MySQL-management-cluster | ||||||
|  | Conflicts: MySQL-tools-cluster | ||||||
|  | Conflicts: MySQL-extra-cluster | ||||||
|  | 
 | ||||||
|  | %description cluster | ||||||
|  | MySQL is a multi-user, multi-threaded SQL database server. | ||||||
|  | MySQL Cluster is a distributed in-memory data store that can be accessed | ||||||
|  | by a MySQL server. This package contains the programs needed to run a MySQL | ||||||
|  | Cluster installation. | ||||||
|  | 
 | ||||||
| %package devel | %package devel | ||||||
| 
 | 
 | ||||||
| Summary: Files for development of MySQL applications | Summary: Files for development of MySQL applications | ||||||
| @ -139,6 +159,7 @@ the MySQL sources. | |||||||
| %patch10 -p1 | %patch10 -p1 | ||||||
| %patch11 -p1 | %patch11 -p1 | ||||||
| %patch12 -p1 | %patch12 -p1 | ||||||
|  | %patch13 -p1 | ||||||
| %patch14 -p1 | %patch14 -p1 | ||||||
| %patch15 -p1 | %patch15 -p1 | ||||||
| 
 | 
 | ||||||
| @ -172,6 +193,7 @@ export CFLAGS CXXFLAGS | |||||||
| 	--with-mysqld-user="mysql" \ | 	--with-mysqld-user="mysql" \ | ||||||
| 	--with-extra-charsets=all \ | 	--with-extra-charsets=all \ | ||||||
| 	--with-innodb \ | 	--with-innodb \ | ||||||
|  | 	--with-ndbcluster \ | ||||||
| 	--with-berkeley-db \ | 	--with-berkeley-db \ | ||||||
| 	--enable-local-infile \ | 	--enable-local-infile \ | ||||||
| 	--enable-largefile \ | 	--enable-largefile \ | ||||||
| @ -206,12 +228,14 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| 
 | 
 | ||||||
| %makeinstall | %makeinstall | ||||||
| 
 | 
 | ||||||
| # multilib header hack | # multilib header hacks | ||||||
| # we only apply this to known Red Hat multilib arches, per bug #181335 | # we only apply this to known Red Hat multilib arches, per bug #181335 | ||||||
| case `uname -i` in | case `uname -i` in | ||||||
|   i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) |   i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparcv9 | sparc64 ) | ||||||
|     install -m 644 include/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h |     mv $RPM_BUILD_ROOT/usr/include/mysql/my_config.h $RPM_BUILD_ROOT/usr/include/mysql/my_config_`uname -i`.h | ||||||
|     install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ |     install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/usr/include/mysql/ | ||||||
|  |     mv $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types.h $RPM_BUILD_ROOT/usr/include/mysql/ndb/ndb_types_`uname -i`.h | ||||||
|  |     install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/usr/include/mysql/ndb/ | ||||||
|     ;; |     ;; | ||||||
|   *) |   *) | ||||||
|     ;; |     ;; | ||||||
| @ -228,8 +252,11 @@ gzip ${RPM_BUILD_ROOT}%{_infodir}/* | |||||||
| mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d | mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d | ||||||
| mkdir -p $RPM_BUILD_ROOT/var/run/mysqld | mkdir -p $RPM_BUILD_ROOT/var/run/mysqld | ||||||
| install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql | install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql | ||||||
|  | install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql-cluster | ||||||
| install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld | install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysqld | ||||||
| install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf | install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT/etc/my.cnf | ||||||
|  | install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndbd | ||||||
|  | install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/ndb_mgmd | ||||||
| rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* | rm -f $RPM_BUILD_ROOT/%{_infodir}/dir* | ||||||
| mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench | mv $RPM_BUILD_ROOT/usr/sql-bench $RPM_BUILD_ROOT%{_datadir}/sql-bench | ||||||
| mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test | mv $RPM_BUILD_ROOT/usr/mysql-test $RPM_BUILD_ROOT%{_datadir}/mysql-test | ||||||
| @ -246,11 +273,11 @@ rm -f ${RPM_BUILD_ROOT}%{_bindir}/make_win_src_distribution | |||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_bin_dist.1* | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/make_win_src_distribution.1* | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la | rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient*.la | ||||||
|  | rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libndbclient.la | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_binary_distribution | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/make_sharedlib_distribution | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mi_test_all* | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini |  | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/MySQL-shared-compat.spec | ||||||
| @ -261,8 +288,12 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-*.spec | |||||||
| rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndbd.1* | rm -f ${RPM_BUILD_ROOT}/usr/libexec/ndb_cpcd | ||||||
| rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_*.1* | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_cpcd.1* | ||||||
|  | # for the moment, remove ndb_size because of dependency on HTML::Template | ||||||
|  | rm -f ${RPM_BUILD_ROOT}%{_bindir}/ndb_size.pl | ||||||
|  | rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/ndb_size.pl.1* | ||||||
|  | rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb_size.tmpl | ||||||
| 
 | 
 | ||||||
| mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d | mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d | ||||||
| echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf | echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf | ||||||
| @ -274,6 +305,10 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ | /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ | ||||||
| 	-c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : | 	-c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : | ||||||
| 
 | 
 | ||||||
|  | %pre cluster | ||||||
|  | /usr/sbin/useradd -M -o -r -d /var/lib/mysql -s /bin/bash \ | ||||||
|  | 	-c "MySQL Server" -u 27 mysql > /dev/null 2>&1 || : | ||||||
|  | 
 | ||||||
| %post  | %post  | ||||||
| /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir | /sbin/install-info %{_infodir}/mysql.info.gz %{_infodir}/dir | ||||||
| 
 | 
 | ||||||
| @ -287,6 +322,13 @@ fi | |||||||
| /bin/chmod 0755 /var/lib/mysql | /bin/chmod 0755 /var/lib/mysql | ||||||
| /bin/touch /var/log/mysqld.log | /bin/touch /var/log/mysqld.log | ||||||
| 
 | 
 | ||||||
|  | %post cluster | ||||||
|  | if [ $1 = 1 ]; then | ||||||
|  |     /sbin/chkconfig --add ndbd | ||||||
|  |     /sbin/chkconfig --add ndb_mgmd | ||||||
|  | fi | ||||||
|  | /bin/chmod 0755 /var/lib/mysql-cluster | ||||||
|  | 
 | ||||||
| %preun | %preun | ||||||
| if [ $1 = 0 ]; then | if [ $1 = 0 ]; then | ||||||
|     /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : |     /sbin/install-info --delete %{_infodir}/mysql.info.gz %{_infodir}/dir || : | ||||||
| @ -297,6 +339,12 @@ if [ $1 = 0 ]; then | |||||||
|     /sbin/chkconfig --del mysqld |     /sbin/chkconfig --del mysqld | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | %preun cluster | ||||||
|  | if [ $1 = 0 ]; then | ||||||
|  |     /sbin/chkconfig --del ndb_mgmd | ||||||
|  |     /sbin/chkconfig --del ndbd | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| %postun libs | %postun libs | ||||||
| if [ $1 = 0 ] ; then | if [ $1 = 0 ] ; then | ||||||
|     /sbin/ldconfig |     /sbin/ldconfig | ||||||
| @ -308,6 +356,12 @@ if [ $1 -ge 1 ]; then | |||||||
|     /sbin/service mysqld condrestart >/dev/null 2>&1 || : |     /sbin/service mysqld condrestart >/dev/null 2>&1 || : | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | %postun cluster | ||||||
|  | if [ $1 -ge 1 ]; then | ||||||
|  |     /sbin/service ndb_mgmd condrestart >/dev/null 2>&1 || : | ||||||
|  |     /sbin/service ndbd condrestart >/dev/null 2>&1 || : | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| %files | %files | ||||||
| %defattr(-,root,root) | %defattr(-,root,root) | ||||||
| @ -331,7 +385,6 @@ fi | |||||||
| %{_infodir}/* | %{_infodir}/* | ||||||
| 
 | 
 | ||||||
| %{_mandir}/man1/mysql.1* | %{_mandir}/man1/mysql.1* | ||||||
| %{_mandir}/man1/mysql_config.1* |  | ||||||
| %{_mandir}/man1/mysql_find_rows.1* | %{_mandir}/man1/mysql_find_rows.1* | ||||||
| %{_mandir}/man1/mysql_tableinfo.1* | %{_mandir}/man1/mysql_tableinfo.1* | ||||||
| %{_mandir}/man1/mysql_waitpid.1* | %{_mandir}/man1/mysql_waitpid.1* | ||||||
| @ -353,6 +406,7 @@ fi | |||||||
| 
 | 
 | ||||||
| %dir %{_libdir}/mysql | %dir %{_libdir}/mysql | ||||||
| %{_libdir}/mysql/libmysqlclient*.so.* | %{_libdir}/mysql/libmysqlclient*.so.* | ||||||
|  | %{_libdir}/mysql/libndbclient.so.* | ||||||
| /etc/ld.so.conf.d/* | /etc/ld.so.conf.d/* | ||||||
| 
 | 
 | ||||||
| %dir %{_datadir}/mysql | %dir %{_datadir}/mysql | ||||||
| @ -425,6 +479,7 @@ fi | |||||||
| %{_mandir}/man1/mysql_convert_table_format.1* | %{_mandir}/man1/mysql_convert_table_format.1* | ||||||
| %{_mandir}/man1/myisam_ftdump.1* | %{_mandir}/man1/myisam_ftdump.1* | ||||||
| %{_mandir}/man1/mysql.server.1* | %{_mandir}/man1/mysql.server.1* | ||||||
|  | %{_mandir}/man1/mysql_config.1* | ||||||
| %{_mandir}/man1/mysql_explain_log.1* | %{_mandir}/man1/mysql_explain_log.1* | ||||||
| %{_mandir}/man1/mysql_fix_extensions.1* | %{_mandir}/man1/mysql_fix_extensions.1* | ||||||
| %{_mandir}/man1/mysql_fix_privilege_tables.1* | %{_mandir}/man1/mysql_fix_privilege_tables.1* | ||||||
| @ -465,11 +520,58 @@ fi | |||||||
| %attr(0755,mysql,mysql) %dir /var/lib/mysql | %attr(0755,mysql,mysql) %dir /var/lib/mysql | ||||||
| %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log | %attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log | ||||||
| 
 | 
 | ||||||
|  | %files cluster | ||||||
|  | %defattr(-,root,root) | ||||||
|  | 
 | ||||||
|  | %{_bindir}/ndb_config | ||||||
|  | %{_bindir}/ndb_delete_all | ||||||
|  | %{_bindir}/ndb_desc | ||||||
|  | %{_bindir}/ndb_drop_index | ||||||
|  | %{_bindir}/ndb_drop_table | ||||||
|  | %{_bindir}/ndb_error_reporter | ||||||
|  | %{_bindir}/ndb_mgm | ||||||
|  | %{_bindir}/ndb_restore | ||||||
|  | %{_bindir}/ndb_select_all | ||||||
|  | %{_bindir}/ndb_select_count | ||||||
|  | %{_bindir}/ndb_show_tables | ||||||
|  | #%{_bindir}/ndb_size.pl | ||||||
|  | %{_bindir}/ndb_test_platform | ||||||
|  | %{_bindir}/ndb_waiter | ||||||
|  | 
 | ||||||
|  | /usr/libexec/ndb_mgmd | ||||||
|  | /usr/libexec/ndbd | ||||||
|  | 
 | ||||||
|  | %{_datadir}/mysql/ndb-*.ini | ||||||
|  | #%{_datadir}/mysql/ndb_size.tmpl | ||||||
|  | /etc/rc.d/init.d/ndbd | ||||||
|  | /etc/rc.d/init.d/ndb_mgmd | ||||||
|  | %attr(0755,mysql,mysql) %dir /var/lib/mysql-cluster | ||||||
|  | 
 | ||||||
|  | %{_mandir}/man1/ndb_config.1* | ||||||
|  | %{_mandir}/man1/ndb_delete_all.1* | ||||||
|  | %{_mandir}/man1/ndb_desc.1* | ||||||
|  | %{_mandir}/man1/ndb_drop_index.1* | ||||||
|  | %{_mandir}/man1/ndb_drop_table.1* | ||||||
|  | %{_mandir}/man1/ndb_error_reporter.1* | ||||||
|  | %{_mandir}/man1/ndb_mgm.1* | ||||||
|  | %{_mandir}/man1/ndb_mgmd.1* | ||||||
|  | %{_mandir}/man1/ndb_print_backup_file.1* | ||||||
|  | %{_mandir}/man1/ndb_print_schema_file.1* | ||||||
|  | %{_mandir}/man1/ndb_print_sys_file.1* | ||||||
|  | %{_mandir}/man1/ndb_restore.1* | ||||||
|  | %{_mandir}/man1/ndb_select_all.1* | ||||||
|  | %{_mandir}/man1/ndb_select_count.1* | ||||||
|  | %{_mandir}/man1/ndb_show_tables.1* | ||||||
|  | #%{_mandir}/man1/ndb_size.pl.1* | ||||||
|  | %{_mandir}/man1/ndb_waiter.1* | ||||||
|  | %{_mandir}/man1/ndbd.1* | ||||||
|  | 
 | ||||||
| %files devel | %files devel | ||||||
| %defattr(-,root,root) | %defattr(-,root,root) | ||||||
| /usr/include/mysql | /usr/include/mysql | ||||||
| %{_libdir}/mysql/*.a | %{_libdir}/mysql/*.a | ||||||
| %{_libdir}/mysql/libmysqlclient*.so | %{_libdir}/mysql/libmysqlclient*.so | ||||||
|  | %{_libdir}/mysql/libndbclient.so | ||||||
| 
 | 
 | ||||||
| %files bench | %files bench | ||||||
| %defattr(-,root,root) | %defattr(-,root,root) | ||||||
| @ -483,6 +585,16 @@ fi | |||||||
| %{_mandir}/man1/mysql_client_test.1* | %{_mandir}/man1/mysql_client_test.1* | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Sun Jul 27 2008 Tom Lane <tgl@redhat.com> 5.0.51a-2 | ||||||
|  | - Enable ndbcluster support | ||||||
|  | Resolves: #163758 | ||||||
|  | - Suppress odd crash messages during package build, caused by trying to | ||||||
|  |   build dbug manual (which we don't install anyway) with dbug disabled | ||||||
|  | Resolves: #437053 | ||||||
|  | - Improve mysql.init to pass configured datadir to mysql_install_db, | ||||||
|  |   and to force user=mysql for both mysql_install_db and mysqld_safe. | ||||||
|  | Related: #450178 | ||||||
|  | 
 | ||||||
| * Mon Mar  3 2008 Tom Lane <tgl@redhat.com> 5.0.51a-1 | * Mon Mar  3 2008 Tom Lane <tgl@redhat.com> 5.0.51a-1 | ||||||
| - Update to mysql version 5.0.51a | - Update to mysql version 5.0.51a | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										116
									
								
								ndb_mgmd.init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								ndb_mgmd.init
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,116 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | # | ||||||
|  | # ndb_mgmd	This shell script takes care of starting and stopping | ||||||
|  | #		the MySQL Cluster management daemon (ndb_mgmd). | ||||||
|  | # | ||||||
|  | # chkconfig: - 62 38 | ||||||
|  | # description:	MySQL Cluster management daemon. | ||||||
|  | # processname: ndb_mgmd | ||||||
|  | # config: /var/lib/mysql-cluster/config.ini | ||||||
|  | # pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid | ||||||
|  | 
 | ||||||
|  | # Source function library. | ||||||
|  | . /etc/rc.d/init.d/functions | ||||||
|  | 
 | ||||||
|  | # Source networking configuration. | ||||||
|  | . /etc/sysconfig/network | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | prog="ndb_mgmd" | ||||||
|  | 
 | ||||||
|  | # extract value of a MySQL option from config files | ||||||
|  | # Usage: get_mysql_option SECTION VARNAME DEFAULT | ||||||
|  | # result is returned in $result | ||||||
|  | # We use my_print_defaults which prints all options from multiple files, | ||||||
|  | # with the more specific ones later; hence take the last match. | ||||||
|  | get_mysql_option(){ | ||||||
|  | 	result=`/usr/bin/my_print_defaults --extra-file=/var/lib/mysql-cluster/config.ini "$1" | sed -n "s/^--$2=//p" | tail -n 1` | ||||||
|  | 	if [ -z "$result" ]; then | ||||||
|  | 	    # not found, use default | ||||||
|  | 	    result="$3" | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | get_mysql_option ndb_mgmd id "1" | ||||||
|  | node_id="$result" | ||||||
|  | errlogfile="/var/lib/mysql-cluster/ndb_${node_id}_out.log" | ||||||
|  | pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" | ||||||
|  | 
 | ||||||
|  | # For SELinux we need to use 'runuser' not 'su' | ||||||
|  | if [ -x /sbin/runuser ] | ||||||
|  | then | ||||||
|  |     SU=runuser | ||||||
|  | else | ||||||
|  |     SU=su | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | start(){ | ||||||
|  | 	touch "$errlogfile" | ||||||
|  | 	chown mysql:mysql "$errlogfile"  | ||||||
|  | 	chmod 0640 "$errlogfile" | ||||||
|  | 	[ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile" | ||||||
|  | 
 | ||||||
|  | 	# all options are expected to be specified in | ||||||
|  | 	# /var/lib/mysql-cluster/config.ini. | ||||||
|  | 	$SU -l mysql -c "cd /var/lib/mysql-cluster; /usr/libexec/ndb_mgmd" >> "$errlogfile" 2>&1 < /dev/null | ||||||
|  | 	ret=$? | ||||||
|  | 	if [ $ret -eq 0 ]; then | ||||||
|  | 	    action $"Starting $prog: " /bin/true | ||||||
|  | 	else | ||||||
|  |     	    action $"Starting $prog: " /bin/false | ||||||
|  | 	fi | ||||||
|  | 	[ $ret -eq 0 ] && touch /var/lock/subsys/ndb_mgmd | ||||||
|  | 	return $ret | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | stop(){ | ||||||
|  |         NDB_MGMD_PID=`cat "$pidfile"  2>/dev/null ` | ||||||
|  |         if [ -n "$NDB_MGMD_PID" ]; then | ||||||
|  | 	    /usr/bin/ndb_mgm -e shutdown >/dev/null | ||||||
|  |             ret=$? | ||||||
|  |             if [ $ret -eq 0 ]; then | ||||||
|  | 		rm -f /var/lock/subsys/ndb_mgmd | ||||||
|  | 		rm -f "$pidfile" | ||||||
|  | 		action $"Stopping $prog: " /bin/true | ||||||
|  |             else | ||||||
|  |                 action $"Stopping $prog: " /bin/false | ||||||
|  |             fi | ||||||
|  |         else | ||||||
|  |             ret=1 | ||||||
|  |             action $"Stopping $prog: " /bin/false | ||||||
|  |         fi | ||||||
|  |         return $ret | ||||||
|  | } | ||||||
|  |   | ||||||
|  | restart(){ | ||||||
|  |     stop | ||||||
|  |     start | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | condrestart(){ | ||||||
|  |     [ -e /var/lock/subsys/ndb_mgmd ] && restart || : | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # See how we were called. | ||||||
|  | case "$1" in | ||||||
|  |   start) | ||||||
|  |     start | ||||||
|  |     ;; | ||||||
|  |   stop) | ||||||
|  |     stop | ||||||
|  |     ;; | ||||||
|  |   status) | ||||||
|  |     status ndb_mgmd | ||||||
|  |     ;; | ||||||
|  |   restart) | ||||||
|  |     restart | ||||||
|  |     ;; | ||||||
|  |   condrestart) | ||||||
|  |     condrestart | ||||||
|  |     ;; | ||||||
|  |   *) | ||||||
|  |     echo $"Usage: $0 {start|stop|status|condrestart|restart}" | ||||||
|  |     exit 1 | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | exit $? | ||||||
							
								
								
									
										25
									
								
								ndb_types.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								ndb_types.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | |||||||
|  | /*
 | ||||||
|  |  * Kluge to support multilib installation of both 32- and 64-bit RPMS: | ||||||
|  |  * we need to arrange that header files that appear in both RPMs are | ||||||
|  |  * identical.  Hence, this file is architecture-independent and calls | ||||||
|  |  * in an arch-dependent file that will appear in just one RPM. | ||||||
|  |  * | ||||||
|  |  * To avoid breaking arches not explicitly supported by Red Hat, we | ||||||
|  |  * use this indirection file *only* on known multilib arches. | ||||||
|  |  * | ||||||
|  |  * Note: this may well fail if user tries to use gcc's -I- option. | ||||||
|  |  * But that option is deprecated anyway. | ||||||
|  |  */ | ||||||
|  | #if defined(__x86_64__) | ||||||
|  | #include "ndb_types_x86_64.h" | ||||||
|  | #elif defined(__i386__) | ||||||
|  | #include "ndb_types_i386.h" | ||||||
|  | #elif defined(__ppc64__) || defined(__powerpc64__) | ||||||
|  | #include "ndb_types_ppc64.h" | ||||||
|  | #elif defined(__ppc__) || defined(__powerpc__) | ||||||
|  | #include "ndb_types_ppc.h" | ||||||
|  | #elif defined(__s390x__) | ||||||
|  | #include "ndb_types_s390x.h" | ||||||
|  | #elif defined(__s390__) | ||||||
|  | #include "ndb_types_s390.h" | ||||||
|  | #endif | ||||||
							
								
								
									
										111
									
								
								ndbd.init
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								ndbd.init
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | # | ||||||
|  | # ndbd		This shell script takes care of starting and stopping | ||||||
|  | #		the MySQL Cluster data node daemon (ndbd). | ||||||
|  | # | ||||||
|  | # chkconfig: - 63 37 | ||||||
|  | # description:	MySQL Cluster data node daemon. | ||||||
|  | # processname: ndbd | ||||||
|  | # config: /etc/my.cnf | ||||||
|  | # pidfile: /var/lib/mysql-cluster/ndb_${node_id}.pid | ||||||
|  | 
 | ||||||
|  | # Source function library. | ||||||
|  | . /etc/rc.d/init.d/functions | ||||||
|  | 
 | ||||||
|  | # Source networking configuration. | ||||||
|  | . /etc/sysconfig/network | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | prog="ndbd" | ||||||
|  | 
 | ||||||
|  | # extract value of a MySQL option from config files | ||||||
|  | # Usage: get_mysql_option SECTION VARNAME DEFAULT | ||||||
|  | # result is returned in $result | ||||||
|  | # We use my_print_defaults which prints all options from multiple files, | ||||||
|  | # with the more specific ones later; hence take the last match. | ||||||
|  | get_mysql_option(){ | ||||||
|  | 	result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1` | ||||||
|  | 	if [ -z "$result" ]; then | ||||||
|  | 	    # not found, use default | ||||||
|  | 	    result="$3" | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | get_mysql_option ndbd connect-string "nodeid=2;host=localhost:1186" | ||||||
|  | ndbd_connect_string="$result" | ||||||
|  | node_id=`echo "$result" | sed 's/^nodeid=\([0-9]*\);.*$/\1/'` | ||||||
|  | connect_string=`echo "$result" | sed 's/^.*host=//'` | ||||||
|  | pidfile="/var/lib/mysql-cluster/ndb_${node_id}.pid" | ||||||
|  | 
 | ||||||
|  | # For SELinux we need to use 'runuser' not 'su' | ||||||
|  | if [ -x /sbin/runuser ] | ||||||
|  | then | ||||||
|  |     SU=runuser | ||||||
|  | else | ||||||
|  |     SU=su | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | start(){ | ||||||
|  | 	# all options are expected to be specified in /etc/my.cnf | ||||||
|  | 	$SU -l mysql -c "/usr/libexec/ndbd" >/dev/null 2>&1 | ||||||
|  | 	ret=$? | ||||||
|  | 	if [ $ret -eq 0 ]; then | ||||||
|  | 	    action $"Starting $prog: " /bin/true | ||||||
|  | 	else | ||||||
|  |     	    action $"Starting $prog: " /bin/false | ||||||
|  | 	fi | ||||||
|  | 	[ $ret -eq 0 ] && touch /var/lock/subsys/ndbd | ||||||
|  | 	return $ret | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | stop(){ | ||||||
|  |         NDBD_PID=`cat "$pidfile"  2>/dev/null ` | ||||||
|  |         if [ -n "$NDBD_PID" ]; then | ||||||
|  | 	    /usr/bin/ndb_mgm -e "$node_id STOP" "$connect_string" >/dev/null | ||||||
|  |             ret=$? | ||||||
|  |             if [ $ret -eq 0 ]; then | ||||||
|  | 		rm -f /var/lock/subsys/ndbd | ||||||
|  | 		rm -f "$pidfile" | ||||||
|  | 		action $"Stopping $prog: " /bin/true | ||||||
|  |             else | ||||||
|  |                 action $"Stopping $prog: " /bin/false | ||||||
|  |             fi | ||||||
|  |         else | ||||||
|  |             ret=1 | ||||||
|  |             action $"Stopping $prog: " /bin/false | ||||||
|  |         fi | ||||||
|  |         return $ret | ||||||
|  | } | ||||||
|  |   | ||||||
|  | restart(){ | ||||||
|  |     stop | ||||||
|  |     start | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | condrestart(){ | ||||||
|  |     [ -e /var/lock/subsys/ndbd ] && restart || : | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # See how we were called. | ||||||
|  | case "$1" in | ||||||
|  |   start) | ||||||
|  |     start | ||||||
|  |     ;; | ||||||
|  |   stop) | ||||||
|  |     stop | ||||||
|  |     ;; | ||||||
|  |   status) | ||||||
|  |     status ndbd | ||||||
|  |     ;; | ||||||
|  |   restart) | ||||||
|  |     restart | ||||||
|  |     ;; | ||||||
|  |   condrestart) | ||||||
|  |     condrestart | ||||||
|  |     ;; | ||||||
|  |   *) | ||||||
|  |     echo $"Usage: $0 {start|stop|status|condrestart|restart}" | ||||||
|  |     exit 1 | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | exit $? | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user