MagnusStenman wrote:
>
> I run a freshly installed intel RedHat 5.2
> with 3.22.23b-1 MySQL RPMs
>
> When trying to start the MySQL server from the init scripts
> it just starts and stops again:
>
> /etc/rc.d/init.d/mysql start
> [root@lakrits /root]# Starting mysqld daemon with databases from
> /var/lib/mysql
> mysqld daemon ended
>
> In the error log:
> mysqld started on Fri Jul 2 04:13:53 CEST 1999
> 990702 4:13:53 getpwnam: Success
> 990702 4:13:53 Aborting
>
> mysqld ended on Fri Jul 2 04:13:53 CEST 1999
>
> I tried to run it manually like this: (and variations thereof)
>
> mysqld --skip-locking --user=mysql --one-thread \
> --pid-file=/var/lib/mysql/lakrits.hkust.se.pid \
> --basedir=/ --datadir=/var/lib/mysql
>
> and got this output:
> 990702 4:04:56 getpwnam: Success
> 990702 4:04:56 Aborting
>
> When omitting the "--user=mysql" argument, it runs fine,
> but all threads run as user root.
>
> the "mysql" user exists, and has read and write permissions
> in /var/lib/mysql
>
> I tried with and without shadow passwords.
>
> I cannot get any further here...
>
> /magnus
>
I have seen the same problem. My solution, done in a hurry - did not
have the time to find a better way to do it:
- get rid of --user=
- start the daemon with su -c "/path/to/safe_mysqld& " <mysql_user>
Maybe Monty can shed some light on this. What happens exactly when
mysqld is given --user - seteuid() to that user before anything else?
--
Sasha Pachev
http://www.sashanet.com