LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   my sql permission error (https://www.linuxquestions.org/questions/linux-software-2/my-sql-permission-error-471618/)

gravesb 08-07-2006 10:39 AM

my sql permission error
 
I am trying to run MYSQL. I hae run it successfully in the past, but now I can't get it to run. I have gentoo on AMD64 hardware. I downloaded both the 86_64 and the 686 versions, but I run into the same problems. I install according to the binary install instructions, and mysqld_safe crashes everytime with the below tux.err file:


60807 11:45:08 mysqld started
060807 11:45:08 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
060807 11:45:08 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 36808.
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
060807 11:45:08 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32$
InnoDB: Apply batch completed
060807 11:45:08 InnoDB: Started; log sequence number 0 43655
060807 11:45:08 [ERROR] bdb: /usr/local/mysql/data: Permission denied
060807 11:45:08 [ERROR] bdb: /usr/local/mysql/data/log.0000000001: Permission denied
060807 11:45:08 [ERROR] bdb: PANIC: Permission denied
060807 11:45:08 [ERROR] bdb: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
060807 11:45:08 [ERROR] bdb: fatal region error detected; run recovery
060807 11:45:08 [ERROR] bdb: /usr/local/mysql/data: Permission denied
060807 11:45:08 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/usr/local/mysql/data/tux.pid' $
060807 11:45:08 [ERROR] Can't start server: can't create PID file: Permission denied
060807 11:45:08 mysqld ended


I checked the permissions on the data directory and they were correct, and I even changed them to 777 hoping that would help. I have seen this problem several times on the forums, but most answers involve installing the software from another repository.

jstephens84 08-07-2006 11:24 AM

What user and group owns /usr/local/mysql/? Can you post your my.cnf? also have you ran mysql_install_db --user=mysql?

gravesb 08-07-2006 02:50 PM

the user and group are mysql. Here is a ls -la from /usr/local/mysql
drwxr-x--- 2 mysql mysql 4096 Aug 7 11:28 .
drwxrwxrwx 4 mysql mysql 4096 Aug 7 11:45 ..

here is my.cnf
# /etc/mysql/my.cnf: The global mysql configuration file.
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-4.1,v 1.2 2005/07/26 17:14:23 vivo Exp $

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysql]
character-sets-dir=latin1
default-character-set=latin1

[mysqladmin]
character-sets-dir=latin1
default-character-set=latin1

[mysqlcheck]
character-sets-dir=latin1
default-character-set=latin1

[mysqldump]
character-sets-dir=latin1
default-character-set=latin1

[mysqlimport]
character-sets-dir=latin1
default-character-set=latin1

[mysqlshow]
character-sets-dir=latin1
default-character-set=latin1

[myisamchk]
character-sets-dir=latin1

[myisampack]
character-sets-dir=latin1

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log = /var/log/mysql/mysql.err

# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations.
[mysqld]
character-set-server = latin1
default-character-set = latin1
user = mysql
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
skip-locking
#skip-innodb
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
language = /usr/share/mysql/english

#security:
#using "localhost" in connects use sockets by default
#skip-networking
bind-address = 127.0.0.1

log-bin
server-id = 1

# Point the following paths to different dedicated disks
tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname

# you need debug use flag enabled to use this ones.
# if needed uncomment them, start the server and issue
# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
# this will show you *exactly* what's appening in your server ;)

#log = /tmp/mysqld.sql
#gdb
#debug = d:t:i:o,/tmp/mysqld.trace
#one-thread

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# The following is the InnoDB configuration
# if you wish to disable innodb instead
# uncomment just the next line
#skip-innodb
#
# the rest of the innodb config follows:
# don't eat too much memory, we're trying to be safe on 64Mb boxes.
# you might want to bump this up a bit on boxes with more RAM
innodb_buffer_pool_size = 16M
# this is the default, increase if you have lots of tables
innodb_additional_mem_pool_size = 2M
#
# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
# and upstream wants things to be under /var/lib/mysql/, so that's the route
# we have to take for the moment
#innodb_data_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
#innodb_log_group_home_dir = /var/lib/mysql/
# you may wish to change this size to be more suitable for your system
# the max is there to avoid run-away growth on your machine
innodb_data_file_path = ibdata1:10M:autoextend
# we keep this at around 25% of of innodb_buffer_pool_size
# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
innodb_log_file_size = 5M
# this is the default, increase if you have very large transactions.
innodb_log_buffer_size = 8M
# this is the default, and won't hurt you.
# you shouldn't need to tweak it.
set-variable = innodb_log_files_in_group=2
# see the innodb config docs, the other options are not always safe
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50


[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

#vim: set tabstop=4 :
#vim: set shiftwidth=4 :


Here is the install_binary file excerpt that I followed to install


shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

jstephens84 08-07-2006 03:07 PM

What are the permissions for the /var/lib/mysql directory?

gravesb 08-09-2006 08:21 AM

That directory doesn't exist

jstephens84 08-09-2006 08:51 AM

If you look under section MySQLD you will see that the datadir poits to /var/lib/mysql. Try creating that directory and giving mysql mysql 755 permissions.


All times are GMT -5. The time now is 08:11 AM.