Updated MySQL 5.7.35 build (mysqld not yet working)

17 views
Skip to first unread message

Paul Smedley

unread,
Aug 21, 2021, 8:07:36 PM8/21/21
to eCS ISP Mailing List, Apache HTTP Server for OS/2

Hi All,

I posted an earlier build to the apache2 mailing list, also posting this
to ecs-isp

Binaries: https://smedley.id.au/tmp/mysql-5.7.35-os2-20210822.zip
Source diff: https://smedley.id.au/tmp/mysql-5.7.35.diff

Changes since the last build:
- passwords now seem to work correctly with mysql.exe
- Server no longer crashes in my_timer_deinitialize, but it still
doesn't (quite) start

The server now fails in:
2021-08-21T23:52:55.256000Z 0 [ERROR] Could not create unix socket lock
file \socket\mysql.lock.
2021-08-21T23:52:55.262000Z 0 [ERROR] Unable to setup unix socket lock file.
2021-08-21T23:52:55.262000Z 0 [ERROR] Aborting


& later:
2021-08-21T23:52:55.777000Z 0 [ERROR] InnoDB: Write to file
./ibtmp1failed at offset 0, 16384 bytes should have been written, only 0
were written. Operating system error number 22. Check that your OS and
file system support files of this size. Check also that the disk is not
full or a disk quota exceeded.
2021-08-21T23:52:55.779000Z 0 [ERROR] InnoDB: Error number 22 means
'Invalid argument'
2021-08-21T23:52:55.781000Z 0 [Note] InnoDB: Some operating system error
numbers are described at
http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
2021-08-22 10:22:55 0x335d53a0 InnoDB: Assertion failure in thread
861754272 in file os0file.cc line 7841

Whilst mysqld isn't working, I'd be interested if anyone can test some
of the other client utilities.

Cheers,

Paul

Paul Smedley

unread,
Aug 22, 2021, 5:20:51 AM8/22/21
to eCS ISP Mailing List, Apache HTTP Server for OS/2
Update:
unix socket issue is fixed, the file write one isn't.

debug build is now at
https://smedley.id.au/tmp/mysql-5.7.35-os2-debug-20210822.zip

The file write one is interesting, as plenty of other file writes are
succeeding :(

David McKenna

unread,
Aug 28, 2021, 12:55:47 PM8/28/21
to Apache for OS/2
Hey Paul,

  Been trying to use this but not getting anywhere - most things I try seem to want mysqld running. Which utilities can be used without it? I get the same error you mentioned when trying to run mysqld (plus others).

 Decided to try to update in place my 5.6 database to 5.7 using the instructions on the Oracle website (ridiculously complicated to understand). First thing is to run in safe mode:

mysqld_safe --user=mysql --datdir=C:/Data/mysql5

 But I get this error:

[C:\programs\mysql57\bin]sh mysqld_safe --user=mysql --datadir=C:/Data/mysql5
UMASK must be a 3-digit mode with an additional leading 0 to indicate octal.
The first digit will be corrected to 6, the others may be 0, 2, 4, or 6.
2021-08-28T12:15:42.600000Z mysqld_safe error: log-error set to 'C:/Data/mysql5/C:/var/log/mysql/error.log', however file don't exists. Create writable for user 'mysql'.

And it exits.

 No idea if this will help you - it baffles me.

Regards,

Steven Levine

unread,
Aug 29, 2021, 1:41:54 AM8/29/21
to apa...@googlegroups.com
In <035d50c7-7f95-447f...@googlegroups.com>, on 08/28/21
at 09:55 AM, David McKenna <davidmc...@gmail.com> said:


Hi David,

>mysqld_safe --user=mysql --datdir=C:/Data/mysql5
> But I get this error:
>[C:\programs\mysql57\bin]sh mysqld_safe --user=mysql
>--datadir=C:/Data/mysql5
>UMASK must be a 3-digit mode with an additional leading 0 to indicate
>octal. The first digit will be corrected to 6, the others may be 0, 2, 4,
>or 6.

If you look at the script, you will notice it's not been fully ported to
OS/2. The above message is just a warning you can ignore.

>2021-08-28T12:15:42.600000Z mysqld_safe error: log-error set to
>'C:/Data/mysql5/C:/var/log/mysql/error.log', however file don't exists.
>Create writable for user 'mysql'.

This one is another bit of unported code. Recall *ix does not do drive
letters.

This code is checking if $err_log is an absolute path:

mysqld_safe:589
case "$err_log" in
/* ) ;;
* ) err_log="$DATADIR/$err_log" ;;
esac

since it is not, $DATADIR gets prepended and you end up with a borked
path. What may work is

--datadir=/Data/mysql5

I'm not yet seeing where err_log gets set to C:/var/log/mysql/error.log,
but I probably have looked hard enough.

BTW, mysqld-safe is just a wrapper for mysqld, so if mysqld is not going
to run, you are not going to get very far, even if you tweak the script
for OS/2.

Steven

--
----------------------------------------------------------------------
"Steven Levine" <ste...@earthlink.net> Warp/DIY/BlueLion etc.
www.scoug.com www.arcanoae.com www.warpcave.com
----------------------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages