In my case, it was a space issue.
Check if you have enough space left.
from /var/log/mysql/error.log
I got some hints from two lines:
2018-08-04T05:25:29.519139Z 0 [ERROR] InnoDB: Write to file ./ibtmp1failed at offset 3145728, 1048576 bytes should have been written, only 704512 were writt$
2018-08-04T05:25:29.519145Z 0 [ERROR] InnoDB: Error number 28 means 'No space left on device'
I could see that it is a space issue.
root@xxx:/home/user1# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 11M 89M 11% /run
/dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 472M 467M 0 100% /boot
tmpfs 100M 0 100M 0% /run/user/1000
From here, I could see that there was not enough space left on the virtual server /dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
. And I thought on either migrating or increasing the virtual drive, but I decided to remove unnecessary files first.
So, had to clean up cache and files that were not needed:
#apt-get clean
#apt-get -f autoremove
Then, do not forget to remove the mysql corrupted log files afterwards. They would be generated again when you restart mysql
#service mysql stop
#cd /var/lib/mysql
#rm ib_logfile*
#service mysql start
Check your mysql server service and it is probably up and running
root@server1-osticket:/var/lib/mysql# service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-08-04 23:07:24 WAT; 7min ago
Process: 1559 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 1549 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1558 (mysqld)
Tasks: 29
Memory: 280.3M
CPU: 589ms
CGroup: /system.slice/mysql.service
└─1558 /usr/sbin/mysqld
Aug 04 23:07:19 server1-osticket systemd[1]: Starting MySQL Community Server...
Aug 04 23:07:24 server1-osticket systemd[1]: Started MySQL Community Server.
root@server1-osticket:/var/lib/mysql#
Case closed.
I hope it helps.
Console says
[root@ip-172-31-18-2 mysql]# service mysqld start
Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with an error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
mysqld.service
[root@ip-172-31-18-2 mysql]# systemctl status mysqld.service
● mysqld.service - SYSV: MySQL database server.
Loaded: loaded (/etc/rc.d/init.d/mysqld)
Active: failed (Result: exit-code) since Sat 2017-02-18 20:59:17 IST; 36s ago
Docs: man:systemd-sysv-generator(8)
Process: 9925 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)
Feb 18 20:59:16 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: Starting SYSV: MySQL database server....
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal mysqld[9925]: MySQL Daemon failed to start.
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal mysqld[9925]: Starting mysqld: [FAILED]
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: mysqld.service: control process exited, code=exited status=1
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: Failed to start SYSV: MySQL database server..
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: Unit mysqld.service entered failed state.
Feb 18 20:59:17 ip-172-31-18-2.ap-southeast-1.compute.internal systemd[1]: mysqld.service failed.
What I have tried until now:
mysqld_safe --defaults-file=/etc/my.cf
chown -R mysql:mysql /var/lib/mysql
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
systemctl restart systemd-logind
rebooted the server
Still no luck.
my.cnf file
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for a dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Yilmaz
31.5k10 gold badges149 silver badges182 bronze badges
asked Feb 18, 2017 at 15:34
2
This amazingly worked.
/etc/init.d/mysql stop
service mysql stop
killall -KILL mysql mysqld_safe mysqld
/etc/init.d/mysql start
service mysql start
answered May 21, 2020 at 2:41
8
I had the same error, the problem was because I no longer had disk space.
to check the space run this:
$ df -h
Then delete some files that you didn’t need.
After this commands:
service mysql start
systemctl status mysql.service
mysql -u root -p
After entering with the root password verify that the mysql service was active
answered Oct 18, 2019 at 5:12
juanitourquizajuanitourquiza
2,0781 gold badge29 silver badges52 bronze badges
5
I met this problem today, and fix it with bellowed steps.
1, Check the log file /var/log/mysqld.log
tail -f /var/log/mysqld.log
2017-03-14T07:06:53.374603Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
2017-03-14T07:06:53.374614Z 0 [ERROR] Can't start server: can't create PID file: No such file or directory
The log says that there isn’t a file or directory /var/run/mysqld/mysqld.pid
2, Create the directory /var/run/mysqld
mkdir -p /var/run/mysqld/
3, Start the mysqld again service mysqld start
, but still fail, check the log again /var/log/mysqld.log
2017-03-14T07:14:22.967667Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied)
2017-03-14T07:14:22.967678Z 0 [ERROR] Can't start server: can't create PID file: Permission denied
It saids permission denied.
4, Grant the permission to mysql
chown mysql.mysql /var/run/mysqld/
5, Restart the mysqld
# service mysqld restart
Restarting mysqld (via systemctl): [ OK ]
answered Mar 14, 2017 at 7:24
Adam DengAdam Deng
4082 silver badges11 bronze badges
2
These are the steps I took to correct this:
Back up your my.cnf file in /etc/mysql and remove or rename it
sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Remove the folder /etc/mysql/mysql.conf.d/ using
sudo rm -r /etc/mysql/mysql.conf.d/
Verify you don’t have a my.cnf file stashed somewhere else (I did in my home dir!) or in /etc/alternatives/my.cnf use
sudo find / -name my.cnf
Now reinstall every thing
sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7
sudo apt install mysql-server
In case your syslog shows an error like «mysqld: Can’t read dir of ‘/etc/mysql/conf.d/'» create a symbolic link:
sudo ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d
Then the service should be able to start with sudo service mysql start.
I hope it work
answered Jul 1, 2018 at 23:58
CJ-UNIqCJ-UNIq
1891 silver badge3 bronze badges
2
In my particular case, the error was appearing due to missing /var/log/mysql
with mysql-server
package 5.7.21-1 on Debian-based Linux distro. Having ran strace
and sudo /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
( which is what the systemd
service actually runs), it became apparent that the issue was due to this:
2019-01-01T09:09:22.102568Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
I’ve recently removed contents of several directories in /var/log
so it was no surprise. The solution was to create the directory and make it owned by mysql
user as in
$ sudo mkdir /var/log/mysql
$ sudo chown -R mysql:mysql /var/log/mysql
Having done that I’ve happily logged in via sudo mysql -u root
and greeted with the old and familiar mysql>
prompt
Ryan M♦
17.9k31 gold badges64 silver badges73 bronze badges
answered Jan 1, 2019 at 9:17
7
if your problem not fix, you can try check more problem.
maybe mysql crash , like this :
you can check log in
sudo cat /var/log/mysql/error.log
or you check
sudo ls /var/crash
answered Oct 26, 2021 at 8:53
Bobi aripBobi arip
551 silver badge4 bronze badges
try
sudo chown mysql:mysql -R /var/lib/mysql
then start your mysql service
systemctl start mysqld
answered Mar 29, 2020 at 10:04
1
the issue is with the «/etc/mysql/my.cnf». this file must be modified by other libraries that you installed. this is how it originally should look like:
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
answered Dec 15, 2020 at 13:57
YilmazYilmaz
31.5k10 gold badges149 silver badges182 bronze badges
I was also facing same issue .
root@*******:/root >mysql -uroot -password
mysql: [Warning] Using a password on the command line interface can be
insecure. ERROR 2002 (HY000): Can’t connect to local MySQL server
through socket ‘/var/lib/mysql/mysql.sock’ (2)
I found ROOT FS was also full and then I killed below lock session .
root@**********:/var/lib/mysql >ls -ltr
total 0
-rw------- 1 mysql mysql 0 Sep 9 06:41 mysql.sock.lock
Finally Issue solved .
AAEM
1,8272 gold badges17 silver badges26 bronze badges
answered Sep 9, 2020 at 12:17
-
open my.cnf and copy the
log-error
path -
then check the permission for the copied log file using
$ ls -l /var/log/mysql.log
-
if any log file permission may changed from mysql:mysql, please change the file permission to
$ chown -R mysql:mysql /var/log/mysql.log
-
then restart the mysql server
$ service mysql restart || systemctl restart mysqld
note: this kind of errors formed by the permission issues. all the mysql service start commands using the log file for writing the status of mysql. If the permission has been changed, the service can’t be write anything into the log files. If it happens it will stopped to run the service
answered Sep 11, 2020 at 9:21
remove any command of «secure_file_priv» in /etc/mysql/my.cnf and restart mysql.
If you want to use a file in mysql, copy those files to the main folder.
The main folder is obtained this way : SHOW VARIABLES LIKE "secure_file_priv";
answered Jan 28, 2021 at 1:39
You can purge all mysql-related packages and reinstall them with the following commands:
PACKAGES="mysql-server mysql-community-server mysql-community-server-core mysql-client mysql-client mysql-community-client mysql-community-client-core mysql-common mysql-community-client-plugins php-mysql"
apt purge $PACKAGES
echo "any remaining installed packages:"
dpkg -l|grep ii|grep mysql
apt install --reinstall mysql-common
apt install $PACKAGES
If there are any remaining packages (apart from mysql-core
), add those to your list
answered Apr 27, 2021 at 16:30
rubo77rubo77
19.3k30 gold badges132 silver badges225 bronze badges
Also don’t forget to check on your docker containers, for me it was my docker has mysql running on the background.
answered Mar 22, 2022 at 8:50
-
Connect to the server using SSH.
-
Stop the affected MySQL service and the service plesk-web-socket to prevent it from attempting to start MySQL:
service mysql stop || service mariadb stop && service plesk-web-socket stop
-
Back up all the MySQL data storage files. By default, they are located in the directory
/var/lib/mysql/
.For example:
cp -a /var/lib/mysql /root/mysql_backup
-
Add the parameter
innodb_force_recovery
to the section[mysqld]
of the MySQL configuration file. This option allows starting MySQL service in the recovery mode and try creating dumps of databases.For example:
vi /etc/my.cnf [mysqld] innodb_force_recovery = 2
-
Start the MySQL service.
answered Aug 13, 2022 at 5:43
I had the same issue and after hours the solution was for me:
Open this file nano /etc/mysql/my.cnf
#I use mysql service if you use mysqld service, type mysqld instead of mysql
[mysql]
innodb_force_recovery = 1
answered Oct 24, 2022 at 17:05
Kamuran SönecekKamuran Sönecek
3,2772 gold badges30 silver badges56 bronze badges
1
Nothing was working for me. I noticed I hadn’t got the mysql command line tool installed so installed that (tried running mysql -u root
which failed) and also ran the steps in here https://linuxhint.com/change-mysql-root-password-ubuntu/ which oddly seemed to work. I wonder if skipping network checks temporarily flushed it and got it working.
answered Apr 20 at 20:01
AntonyAntony
3,77228 silver badges32 bronze badges
Had the same problem. Solved as given below.
Use command :
sudo tail -f /var/log/messages|grep -i mysql
to check if SELinux policy is causing the issue. If so, first check if SELinux policy is enabled using command #sestatus
. If it shows enabled, then disable it.
To disable:
# vi /etc/sysconfig/selinux
- change ‘SELINUX=enforcing’ to ‘SELINUX=disabled’
- restart linux
- check with
sestatus
and it should show «disabled»
Uninstall and reinstall mysql. It should be working.
answered Dec 8, 2018 at 15:15
rajat saharajat saha
1041 gold badge1 silver badge7 bronze badges
1
Backup your config or data and reinstall mysql
sudo apt remove --purge mysql-server
sudo apt purge mysql-server
sudo apt autoremove
sudo apt autoclean
sudo apt remove dbconfig-mysql
sudo apt-get remove --purge mysql* -y
sudo apt-get autoremove -y
sudo apt-get autoclean
Then install it again.
That works here.
answered Dec 8, 2021 at 13:02
Hedron DantasHedron Dantas
5962 gold badges5 silver badges16 bronze badges
i have got the same «systemctl status mysql.service» and «journalctl -xe» for details. ERROR.
after repeated deinstallation and installation does not work at all.
but this one work well> https://linuxtut.com/en/5a5b0f46620ae1b27b10/
you just need to remove everything from my.cnf file except [mysqld] and start the server. this really work. but you might not have the password for root in that case skip-grant-tables and restart server in safe mode and use mysql and
update mysql.user set authentication_string=null where user=’root’ and then can alter user ‘root’@’localhost’ identified by ‘your_$$new_99pwd#’;
then login to secure mode and then you can create new user.
answered Jan 1, 2022 at 11:58
after having tested several solutions without success, the one that finally worked is the following:
you can load the default configuration of your apache server
sudo a2ensite 000-default.conf
sudo a2dissite my.conf
systemctl reload apache2
then reload the configuration for your website
sudo a2ensite my.conf
sudo a2dissite 000-default.conf
systemctl reload apache2
answered Sep 5, 2022 at 12:38
Following error is being showed while checking the status for my-sql .
OS: Ubuntu 18.04.3
Mysql: mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2019-08-31 08:27:11 CEST; 1min 12s ago
Process: 18000 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Control process exited, code=exited status=1
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug 31 08:27:11 myserver systemd[1]: Failed to start MySQL Community Server.
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Aug 31 08:27:11 myserver systemd[1]: Stopped MySQL Community Server.
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Start request repeated too quickly.
Aug 31 08:27:11 myserver systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug 31 08:27:11 myserver systemd[1]: Failed to start MySQL Community Server.
I tried to start using mysqld command which ended with following error
mysqld: Error on realpath() on '/var/lib/mysql-files' (Error 2 - No such file or directory)
2019-08-31T12:51:57.596969Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-08-31T12:51:57.597359Z 0 [ERROR] Failed to access directory for --secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Supplied value : /var/lib/mysql-files
2019-08-31T12:51:57.597485Z 0 [ERROR] Aborting
2019-08-31T12:51:57.597607Z 0 [Note] Binlog end
my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
asked Aug 31, 2019 at 6:39
Joel DeleepJoel Deleep
1351 gold badge1 silver badge8 bronze badges
3
The errors you got on the console when running mysqld
directly include:
2019-08-31T12:51:57.597359Z 0 [ERROR] Failed to access directory for —secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Supplied value : /var/lib/mysql-files
That’s your problem.
To resolve it, first check the user that your mysqld
is attempting to run as; this will be the user «mysql» in a default Debian install (I assume it should be the same for Ubuntu); to verify this, check /etc/mysql/my.cnf
and look for a «user = xxx» line.
Once you know what user mysqld
is trying to run as, check that the directory /var/lib/mysql-files
exists (sudo mkdir /var/lib/mysql-files
if it doesn’t) and is owned by the user mysqld
runs as (sudo chown mysql /var/lib/mysql-files
if it isn’t; replace «mysql» in the chown
command with the correct user name if you’re configured to run as a different user).
Then try sudo mysqld
again and you should either get a successful mysqld
startup, or (if there are other problems with your setup) a new and different error message.
answered Sep 1, 2019 at 8:24
Dave SherohmanDave Sherohman
1,7391 gold badge12 silver badges16 bronze badges
3
For me, I ran some cache clearing operations to free up space using tools like Stacer, and then MySQL started showing problems.
Use this to get some clues first
grep mysql /var/log/syslog | grep ERROR
If the error says, Could not open file ‘/var/log/mysql/error.log’ for error logging: No such file or directory
then clearly, the log files were cleaned up.
Use this to first create the MySQL directory and grant all permissions for MySQL to use that folder.
> sudo mkdir /var/log/mysql
> sudo chown -R mysql:mysql /var/log/mysql
> sudo service mysql restart
This solution has nothing to do with the my.cnf files and is completely safe on data.
answered Jul 15, 2021 at 8:27
1
Check for below.
- Check if file is exists.
- Check file permissions.
-
If Selinux is enabled fix it with below.
$ semanage fcontext -a -e /var/lib/mysql /var/lib/mysql-files
$ restorecon -R /var/lib/mysql-files
Make sure /var/lib/mysql is empty, Then Try to start server:
$ service mysqld start
Check this link also it may help https://askubuntu.com/questions/835541/mysql-install-db-on-ubuntu-16-04
answered Sep 3, 2019 at 3:52
asktyagiasktyagi
2,6611 gold badge7 silver badges23 bronze badges
In my case, it was a space issue.
Check if you have enough space left.
from /var/log/mysql/error.log
I got some hints from two lines:
2018-08-04T05:25:29.519139Z 0 [ERROR] InnoDB: Write to file ./ibtmp1failed at offset 3145728, 1048576 bytes should have been written, only 704512 were writt$
2018-08-04T05:25:29.519145Z 0 [ERROR] InnoDB: Error number 28 means 'No space left on device'
I could see that it is a space issue.
root@xxx:/home/user1# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 11M 89M 11% /run
/dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/vda1 472M 467M 0 100% /boot
tmpfs 100M 0 100M 0% /run/user/1000
From here, I could see that there was not enough space left on the virtual server /dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /
. And I thought on either migrating or increasing the virtual drive, but I decided to remove unnecessary files first.
So, had to clean up cache and files that were not needed:
#apt-get clean
#apt-get -f autoremove
Then, do not forget to remove the mysql corrupted log files afterwards. They would be generated again when you restart mysql
#service mysql stop
#cd /var/lib/mysql
#rm ib_logfile*
#service mysql start
Check your mysql server service and it is probably up and running
root@server1-osticket:/var/lib/mysql# service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-08-04 23:07:24 WAT; 7min ago
Process: 1559 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 1549 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1558 (mysqld)
Tasks: 29
Memory: 280.3M
CPU: 589ms
CGroup: /system.slice/mysql.service
└─1558 /usr/sbin/mysqld
Aug 04 23:07:19 server1-osticket systemd[1]: Starting MySQL Community Server...
Aug 04 23:07:24 server1-osticket systemd[1]: Started MySQL Community Server.
root@server1-osticket:/var/lib/mysql#
Case closed.
I hope it helps.
I set up my first Ubuntu Server with Ubuntu 16.04, nginx, php7.0, MariaDB, nextcloud and external DynDNS using this tutorial here: Install Nextcloud 9 on Ubuntu 16.04
Everything worked fine but since I restarted the server the next day, nextcloud just shows me a blank page. After clicking through all logs of nginx, MariaDB and nextcloud, I found out that the mysql service just doesn’t start. So run service mysql start
and everything worked fine again (calling nextcloud from server as well as other workstations). I just wondered that the terminal didn’t «close» the line. Like it was still working on the command. After about 5 minutes, the line «closes» and the following message appears:
«Job for mariadb.service failed because a timeout was exceeded. See
«systemctl status mariadb.service» and «journalctl -xe» for details.»
Then the clients again just get a blank page in nextcloud. When I run the command and close the terminal immediately, clients get the access as well but still loses it after 5 minutes.
I tried backing up the nextcloud, sql and run apt-get purge --auto-remove mariadb-server
. Then again run the MariaDB installation steps out of the tutorial with importing the backup sql instead of creating a new one. Didn’t change everything.
Next try was update-rc.d mysql defaults
and update-rc.d mysql enable
. But after a restart just the blank page again. Access is only possible for 5 minutes by starting the service manual.
I also tried the BUM — BootUpManager but the service seems to be enabled. I saw you can start services out oft it manually as well. So tried it with mysql and surprise: nextcloud available for 5 minutes while BUM just hangs up.
I found mariadb.com/kb/en/mariadb/starting-and-stopping-mariadb-automatically/ as well but tried nothing of it because it seems like there is something else really wrong.
root@s1:~# systemctl status mariadb.service
:
u25cf mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:
Drop-In: /etc/systemd/system/mariadb.service.d
u2514u2500migrated-from-my.cnf-settings.conf
Active: failed (Result: timeout) since Di 2016-12-06 14:52:51 CET; 55s ago
Process: 3565 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WS
Process: 3415 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR
Process: 3409 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START
Process: 3405 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/ru
Main PID: 3565 (code=exited, status=0/SUCCESS)
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 3067387712 [Note] /usr/sbin
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 3067387712 [Note] Event Sch
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 2147785536 [Note] InnoDB: F
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 3067387712 [Note] InnoDB: S
Dez 06 14:52:49 s1 mysqld[3565]: 2016-12-06 14:52:49 3067387712 [Note] InnoDB: W
Dez 06 14:52:50 s1 mysqld[3565]: 2016-12-06 14:52:50 3067387712 [Note] InnoDB: S
Dez 06 14:52:50 s1 mysqld[3565]: 2016-12-06 14:52:50 3067387712 [Note] /usr/sbin
Dez 06 14:52:51 s1 systemd[1]: Failed to start MariaDB database server.
Dez 06 14:52:51 s1 systemd[1]: mariadb.service: Unit entered failed state.
Dez 06 14:52:51 s1 systemd[1]: mariadb.service: Failed with result 'timeout'.
root@s1:~# journalctl -xe
:
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 3067387712 [Note] Event Scheduler: Purging the queue. 0 events
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 2147785536 [Note] InnoDB: FTS optimize thread exiting.
Dez 06 14:52:48 s1 mysqld[3565]: 2016-12-06 14:52:48 3067387712 [Note] InnoDB: Starting shutdown...
Dez 06 14:52:49 s1 mysqld[3565]: 2016-12-06 14:52:49 3067387712 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer po
Dez 06 14:52:50 s1 mysqld[3565]: 2016-12-06 14:52:50 3067387712 [Note] InnoDB: Shutdown completed; log sequence number 111890806
Dez 06 14:52:50 s1 mysqld[3565]: 2016-12-06 14:52:50 3067387712 [Note] /usr/sbin/mysqld: Shutdown complete
Dez 06 14:52:50 s1 audit[3648]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profi
Dez 06 14:52:50 s1 kernel: audit: type=1400 audit(1481032370.973:29): apparmor="DENIED" operation="sendmsg" info="Failed name lookup -
Dez 06 14:52:50 s1 audit[3565]: AVC apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profi
Dez 06 14:52:50 s1 kernel: audit: type=1400 audit(1481032370.973:30): apparmor="DENIED" operation="sendmsg" info="Failed name lookup -
Dez 06 14:52:51 s1 systemd[1]: Failed to start MariaDB database server.
-- Subject: Unit mariadb.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has failed.
--
-- The result is failed.
Dez 06 14:52:51 s1 systemd[1]: mariadb.service: Unit entered failed state.
Dez 06 14:52:51 s1 systemd[1]: mariadb.service: Failed with result 'timeout'.
Dez 06 14:54:54 s1 x11vnc[2665]: 06/12/2016 14:54:54 cursor_noshape_updates_clients: 1
Dez 06 14:55:16 s1 ntpd[1244]: 46.4.1.155 local addr 192.168.178.50 -> <null>
Dez 06 14:57:30 s1 ntpd[1244]: 89.238.66.98 local addr 192.168.178.50 -> <null>
Content in /ect/init.d (if useful):
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network $named $time
# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database server daemon
# Description: Controls the main MariaDB database server daemon "mysqld"
# and its wrapper script "mysqld_safe".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
test -x /usr/sbin/mysqld || exit 0
. /lib/lsb/init-functions
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
CONF=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
# priority can be overriden and "-s" adds output to stderr
ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i"
# Safeguard (relative paths, core dumps..)
cd /
umask 077
# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/
# Source default config file.
[ -r /etc/default/mariadb ] && . /etc/default/mariadb
## Fetch a particular option from mysql's invocation.
#
# Usage: void mysqld_get_param option
mysqld_get_param() {
/usr/sbin/mysqld --print-defaults
| tr " " "n"
| grep -- "--$1"
| tail -n 1
| cut -d= -f2
}
## Do some sanity checks before even trying to start mysqld.
sanity_checks() {
# check for config file
if [ ! -r /etc/mysql/my.cnf ]; then
log_warning_msg "$0: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz"
echo "WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" | $ERR_LOGGER
fi
# check for diskspace shortage
datadir=`mysqld_get_param datadir`
if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk '{ exit ($4>4096) }'; then
log_failure_msg "$0: ERROR: The partition with $datadir is too full!"
echo "ERROR: The partition with $datadir is too full!" | $ERR_LOGGER
exit 1
fi
}
## Checks if there is a server running and if so if it is accessible.
#
# check_alive insists on a pingable server
# check_dead also fails if there is a lost mysqld in the process list
#
# Usage: boolean mysqld_status [check_alive|check_dead] [warn|nowarn]
mysqld_status () {
ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))
ps_alive=0
pidfile=`mysqld_get_param pid-file`
if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
if [ "$1" = "check_alive" -a $ping_alive = 1 ] ||
[ "$1" = "check_dead" -a $ping_alive = 0 -a $ps_alive = 0 ]; then
return 0 # EXIT_SUCCESS
else
if [ "$2" = "warn" ]; then
echo -e "$ps_alive processes alive and '$MYADMIN ping' resulted inn$ping_outputn" | $ERR_LOGGER -p daemon.debug
fi
return 1 # EXIT_FAILURE
fi
}
#
# main()
#
case "${1:-''}" in
'start')
sanity_checks;
# Start daemon
log_daemon_msg "Starting MariaDB database server" "mysqld"
if mysqld_status check_alive nowarn; then
log_progress_msg "already running"
log_end_msg 0
else
# Could be removed during boot
test -e /var/run/mysqld || install -m 755 -o mysql -g root -d /var/run/mysqld
# Start MariaDB!
/usr/bin/mysqld_safe "${@:2}" > /dev/null 2>&1 &
# 6s was reported in #352070 to be too little
for i in $(seq 1 "${MYSQLD_STARTUP_TIMEOUT:-60}"); do
sleep 1
if mysqld_status check_alive nowarn ; then break; fi
log_progress_msg "."
done
if mysqld_status check_alive warn; then
log_end_msg 0
# Now start mysqlcheck or whatever the admin wants.
output=$(/etc/mysql/debian-start)
[ -n "$output" ] && log_action_msg "$output"
else
log_end_msg 1
log_failure_msg "Please take a look at the syslog"
fi
fi
;;
'stop')
# * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
# at least for cron, we can rely on it here, too. (although we have
# to specify it explicit as e.g. sudo environments points to the normal
# users home and not /root)
log_daemon_msg "Stopping MariaDB database server" "mysqld"
if ! mysqld_status check_dead nowarn; then
set +e
shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?
set -e
if [ "$r" -ne 0 ]; then
log_end_msg 1
[ "$VERBOSE" != "no" ] && log_failure_msg "Error: $shutdown_out"
log_daemon_msg "Killing MariaDB database server by signal" "mysqld"
killall -15 mysqld
server_down=
for i in `seq 1 600`; do
sleep 1
if mysqld_status check_dead nowarn; then server_down=1; break; fi
done
if test -z "$server_down"; then killall -9 mysqld; fi
fi
fi
if ! mysqld_status check_dead warn; then
log_end_msg 1
log_failure_msg "Please stop MariaDB manually and read /usr/share/doc/mariadb-server-10.1/README.Debian.gz!"
exit -1
else
log_end_msg 0
fi
;;
'restart')
set +e; $SELF stop; set -e
$SELF start
;;
'reload'|'force-reload')
log_daemon_msg "Reloading MariaDB database server" "mysqld"
$MYADMIN reload
log_end_msg 0
;;
'status')
if mysqld_status check_alive nowarn; then
log_action_msg "$($MYADMIN version)"
else
log_action_msg "MariaDB is stopped."
exit 3
fi
;;
'bootstrap')
# Bootstrap the cluster, start the first node
# that initiates the cluster
log_daemon_msg "Bootstrapping the cluster" "mysqld"
$SELF start "${@:2}" --wsrep-new-cluster
;;
*)
echo "Usage: $SELF start|stop|restart|reload|force-reload|status|bootstrap"
exit 1
;;
esac
Unfortunately, Google can’t help me. I tried to explain as much as I can maybe this helps you in helping me. Thanks a lot!
MySQL или MariaDB — это один из самых популярных движков баз данных, который используется для обеспечения работы большинства веб-сайтов в интернете, а также множества других проектов.
Иногда случается, что из-за после изменения настроек или по какой-либо другой причине mysql не запускается. Это довольно серьезная проблема, особенно, когда такая ситуация случается на сервере публичного проекта. В этой статье мы рассмотрим основные причины почему может возникать такая проблема, а также пути решения. В качестве примера будет использоваться Mariadb и Ubuntu.
Если вы используете systemd для запуска сервисов, то получите такую ошибку:
failed to start mysql server или job for mysql failed because the control proccess exited
Из сообщения понято только то что что-то пошло не так, но что именно неизвестно. Чаще всего проблемы в работе MySQL могут вызвать такие причины:
- Синтаксические ошибки в конфигурационном файле;
- Неверные настройки;
- Недостаточное количество оперативной памяти на сервере;
- Проблемы с правами доступа;
- Сетевой порт уже занят;
- Таблицы баз данных повреждены;
Дальше мы рассмотрим основные пути решения этих проблем. Но сначала нам нужно выяснить почему не запускается программа. Гадать на кофейной гуще и перебирать все возможные методы решения можно очень долго, самым эффективным решением будет посмотреть какие ошибки выдает сама программа.
Первым делом, если вы меняли настройки в конфигурационном файле надо проверить его на ошибки. Встроенной утилиты для таких целей нет, но можно запустить mysql daemon с опцией —help:
/usr/sbin/mysqld --help --verbose
В начале вывода будут представлены обнаруженные в основном конфигурационном файле ошибки. Например, здесь я специально добавил несуществующую переменную. Вам остается только исправить ошибки и перезапустить mysql:
systemctl restart mariadb
Если же это не сработало и вы все еще получаете ошибку, посмотрите лог загрузки systemd для этого сервиса:
systemctl status -l mariadb
Иногда здесь тоже можно найти полезную информацию, но в данном случае ничего нет. Следующий шаг — просмотр лога mysql. Если лог еще не включен, включаем его добавив такую строчку в /etc/mysql/my.cnf в секцию [mysqld]:
sudo vi /etc/mysql/my.cnf
[mysqld]
log-error=/var/log/mysql/error.log
Затем снова пытаемся запустить сервис и смотрим на появившиеся в логе ошибки:
tail -f /var/log/mysql/error.log
Здесь вы увидите ошибки, которые мешают запустить mysql. Здесь надо искать слова: Fail, Error, Warning, Aborted и так далее. Вам остается только их исправить. Исправить проблемы с синтаксисом, убрать опции, которые потребляют слишком много памяти и исправить другие проблемы. А теперь рассмотрим несколько распространенных проблем.
1. Изменение размера буфера innodb
Если вы измените значение директивы innodb_buffer_pool_size в большую или меньшую сторону пока сервис работает, то перезапустить вы его уже не сможете. Перед тем как менять значение директивы остановите mysql:
sudo systemctl stop mariadb
Затем удалите старые логи innodb или просто их переименуйте:
sudo mv /var/lib/mysql/ib_logfile0{,bak}
sudo mv /var/lib/mysql/ib_logfile1{,bak}
И только после этого можете снова запускать сервис, он запустится с новыми настройками размера буфера. Только будьте аккуратны с выбором размера. При слишком большом размере может не хватить памяти для запуска, так как весь буфер хранится в ОЗУ.
sudo systemctl start mariadb
2. Ошибка Permission denied
MySQL хранит файлы базы данных на диске. У движка базы данных должен быть полный доступ к папке, в которой хранятся эти файлы. По умолчанию в Ubuntu это /var/lib/mysql/. Все файлы в этой папке должны принадлежать пользователю mysql:
ls -l /var/lib/mysql/
Если это не так, исправляем командой:
sudo chown -R mysql:mysql /var/lib/mysql/
3. Ошибка Address already in use
MySQL может использовать файловый сокет Linux или же сетевой сокет, тогда база данных будет доступна другим программам на порту 3306. Если сейчас уже запущен другой процесс mysql или какой-либо другой процесс занимает этот порт вы получите ошибку Address already in use. Чтобы ее решить смотрим какой процесс использует порт:
sudo ss -lptn 'sport = :3306'
Например, здесь мы видим, что запущен другой экземпляр mysql с PID 11240. Вы можете его завершить с помощью kill:
sudo kill -TERM 11240
Теперь база данных запуститься.
4. Ошибка corrupt database page Mysql
Если mysql завершился некорректно из-за недостатка памяти или других проблем, например, проблем с файловой системой, то таблицы innodb могут быть повреждены — corrupt database page. Это происходит не так часто. При такой проблеме вы увидите такую запись в логе:
Проблема серьезная, но решаемая. В самом сообщении об ошибке система рекомендует сделать резервную копию таблиц, удалить их и создать заново из резервной копии. Но для этого должна быть запущена база данных, а она не запускается.
Нам необходимо запустить mysql в режиме восстановления, в котором все повреждения таблиц будут игнорироваться. Для этого добавляем в конфигурационный файл /etc/mariadb/my.cnf строку:
sudo vi /etc/mariadb/my.cnf
innodb_force_recovery=1
Затем запускаем mysql:
systemctl start mariadb
Ошибок не будет и сервис запуститься. Нам остается только исправить таблицы. Для этого можно воспользоваться инструментом mysqlcheck:
mysqlcheck -u root --auto-repair --all-databases
Готово. Теперь возвращаемся в конфигурационный файл и комментируем или удаляем строку innodb_force_recovery.
После этого можно перезапустить mysql и сервис будет работать в обычном режиме:
sudo systemctl restart mariadb
Выводы
В этой статье мы рассмотрели основные причины почему не запускается mysql сервер. Теперь вы сможете очень быстро с ними справиться, если столкнетесь в своей работе. А с какими еще проблемами кроме этих сталкивались вы? Какие были пути решения? Давайте дополним статью вместе, пишите в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
On Ubuntu 12.04 I had this same problem after changing buffer sizes in /etc/mysql/my.cnf file, I think I got a little carried away. Anyway after trying to change them back to the default setting MySQL still would not start.
I tried several different methods to get it resolved, I did notice that /var/run/mysql/mysql.sock was missing. This could be an issue so you may check there and if its missing you can replace it by doing the following:
sudo touch /var/run/mysql/mysql.sock
sudo chown mysql /var/run/mysql/mysql.sock
This did NOT fix the problem for me! But it may for some.
What I had to do was completely reinstall MySQL, to do this you will need to use the sudo command. The steps to completely removing and reinstalling MySQL are as follows:
Remove MySQL
sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
Optionally you may use aptitude, by replacing apt-get —purge with aptitude
Clean UP
sudo apt-get autoremove
sudo apt-get autoclean
Remove MySQL dir
sudo rm -rf /etc/mysql
Install MySQL
sudo apt-get install mysql-server mysql-client
MySQL should now be running, you can check this by doing the following:
sudo service mysql status
You should see
mysql start/running, process xxxxx
Hope this helps, and thought I might add after doing this all my databases and tables where still available, however I did have to recreate the users and passwords for those databases.
Note: If you had mysql extension for php, you will need to reinstall this too.
sudo apt-get install php5-mysql
MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.
Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.
Не удаётся подключиться к локальному серверу
Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».
Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld
) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.
Убедитесь, что сервер работает. Проверьте процесс с именем mysqld
на хосте сервера, используя команды ps или grep, как показано ниже.
$ ps xa | grep mysqld | grep -v mysqld
Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.
$ sudo systemctl start mysql #Debian/Ubuntu
$ sudo systemctl start mysqld #RHEL/CentOS/Fedora
Чтобы проверить состояние службы MySQL, используйте следующую команду:
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.
$ sudo systemctl restart mysql
$ sudo systemctl status mysql
Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.
Для поиска порта, который прослушивается сервером, используйте команду netstat
.
$ sudo netstat -tlpn | grep "mysql"
Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.
Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).
Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:
ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)
Ошибки запрета доступа в MySQL
В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).
Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.
В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.
Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):
В консоли вводим команду:
> SHOW GRANTS FOR 'tecmint'@'localhost';
Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:
> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;
Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).
Потеря соединения с сервером MySQL
С этой ошибкой можно столкнуться по одной из следующих причин:
- плохое сетевое соединение;
- истекло время ожидания соединения;
- размер BLOB больше, чем
max_allowed_packet
.
В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).
Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout
.
В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet
в файле конфигурации /etc/my.cnf
в разделах [mysqld]
или [client]
как показано ниже.
[mysqld]
connect_timeout=100
max_allowed_packet=500M
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;
Слишком много подключений
Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections
. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf
.
[mysqld]
max_connections=1000
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
- если клиент MySQL используется напрямую, запустите его с ключом
--quick switch
, чтобы отключить кешированные результаты; - если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
$ sudo apt-get install mysqltuner #Debian/Ubuntu
$ sudo yum install mysqltuner #RHEL/CentOS/Fedora
$ mysqltuner
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin
.
$ sudo mysqladmin version -p
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
$ sudo mysqladmin -i 5 status
Или
$ sudo mysqladmin -i 5 -r status
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
- Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге
/var/log/mysql/
. Вы можете использовать утилиты командной строки вродеtail
для чтения файлов журнала. - Если служба MySQL не запускается, проверьте её состояние с помощью
systemctl
. Или используйте командуjournalctl
(с флагом-xe
) в systemd. - Вы также можете проверить файл системного журнала (например,
/var/log/messages
) на предмет обнаружения ошибок. - Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
- Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
- Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды:
mysqladmin -u root ping
илиmysqladmin -u root processlist
, чтобы получить от него ответ. - Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.
Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»
After a restart, mysql won’t start. sudo service mysql start
gives start: Job failed to start
and the logs are empty, so I have no idea where to start. I’m pretty sure permissions problems are taken care of.
Edit:
All disks have at least 1G of space and sh -x /etc/init.d/mysql start
gives me:
+ set -e
+ basename /etc/init.d/mysql
+ INITSCRIPT=mysql
+ JOB=mysql
+ [ mysql = upstart-job ]
+ [ -z start ]
+ COMMAND=start
+ shift
+ [ -z ]
+ ECHO=echo
+ echo Rather than invoking init scripts through /etc/init.d, use the service(8)
Rather than invoking init scripts through /etc/init.d, use the service(8)
+ echo utility, e.g. service mysql start
utility, e.g. service mysql start
+ echo
+ echo Since the script you are attempting to invoke has been converted to an
Since the script you are attempting to invoke has been converted to an
+ echo Upstart job, you may also use the start(8) utility, e.g. start mysql
Upstart job, you may also use the start(8) utility, e.g. start mysql
+ grep -q start/
+ status mysql
+ [ -z ]
+ [ start = stop ]
+ [ -n ]
+ start mysql
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.105" (uid=1000 pid=3208 comm="start mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
asked Jan 29, 2012 at 21:23
OwenOwen
1891 gold badge1 silver badge4 bronze badges
4
This message comes from the service script, not from mysql. So you have to look at the script and figure where/why it fails.
Do that by calling sh -x /etc/init.d/mysqld start
.
note: on some questions, like this one, I don’t see any «add comment». I only have the option to add an answer. How can I just add a comment ?
Nils
7,6773 gold badges33 silver badges71 bronze badges
answered Jan 29, 2012 at 21:35
Gregory MOUSSATGregory MOUSSAT
1,6452 gold badges25 silver badges48 bronze badges
2
Same issue here, for me the reason was, that the my.cnf
file has been moved from /etc/my.cnf
to /etc/mysql/my.cnf
, but there still was a «dead» symlink pointing to /etc/my.cnf
.
Check if /etc/mysql/my.cnf
is a symlink:
user@machine:~ $ ls -l /etc/mysql/my.cnf
lrwxrwxrwx 1 root root 9 Jan 11 2011 /etc/mysql/my.cnf -> ../my.cnf
If it is a symlink, check if the target file exists. If not, remove the symlink and create /etc/mysql/my.cnf
from /etc/mysql/my.cnf.dpkg-new
or something like that… if you have it.
sudo unlink /etc/mysql/my.cnf
sudo mv /etc/mysql/my.cnf.dpkg-new /etc/mysql/my.cnf
P.S: If the symlink’s target is existing, you might want to check dmesg | grep cnf
for apparmor error messages.
answered May 31, 2012 at 15:48
EugeneEugene
1312 bronze badges
This problem can occur if the pid file still exists, such as after a crash. Check for that and delete it if it does exist.
The pid file location defaults to /var/run/mysqld/mysqld.pid
but a different location may be set in the config file.
7yl4r
4135 silver badges9 bronze badges
answered Jan 29, 2012 at 22:24
John GardeniersJohn Gardeniers
27.3k12 gold badges53 silver badges109 bronze badges
1
This just happened to me. The filesystem was 100% full
Confirm with: df -h /
answered Apr 30, 2018 at 16:28
root@broadband:/var/lib/mysql# sudo /etc/init.d/mysql start
[….] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See «systemctl status mysql.service» and «journalctl -xe» for details.
failed!
root@broadband:/var/lib/mysql# systemctl status mysql.service
● mysql.service — LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Пт 2018-08-03 15:38:42 MSK; 1min 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 14097 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)
авг 03 15:38:42 broadband /etc/init.d/mysql[15142]: 0 processes alive and ‘/usr/bin/mysqladmin —defaults-file=/etc/mysql/debian.cnf ping’ resulted in
авг 03 15:38:42 broadband /etc/init.d/mysql[15142]: [61B blob data]
авг 03 15:38:42 broadband /etc/init.d/mysql[15142]: error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111 «Connection refused»)’
авг 03 15:38:42 broadband /etc/init.d/mysql[15142]: Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!
авг 03 15:38:42 broadband /etc/init.d/mysql[15142]:
авг 03 15:38:42 broadband mysql[14097]: …fail!
авг 03 15:38:42 broadband systemd[1]: mysql.service: Control process exited, code=exited status=1
авг 03 15:38:42 broadband systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
авг 03 15:38:42 broadband systemd[1]: mysql.service: Unit entered failed state.
авг 03 15:38:42 broadband systemd[1]: mysql.service: Failed with result ‘exit-code’.
root@broadband:/var/lib/mysql#
root@broadband:/var/lib/mysql# journalctl -xe
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Started in read only mode
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Using mutexes to ref count buffer pool pages
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: The InnoDB memory heap is disabled
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Compressed tables use zlib 1.2.8
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Using Linux native AIO
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Not using CPU crc32 instructions
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Disabling background IO write threads.
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Warning] InnoDB: Unable to open «./ib_logfile0» to check native AIO read support.
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Warning] InnoDB: Linux Native AIO disabled.
авг 03 15:45:18 broadband mysqld[19045]: 180803 15:45:18 [Note] InnoDB: Initializing buffer pool, size = 6.0G
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [Note] InnoDB: Completed initialization of buffer pool
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [ERROR] InnoDB: Cannot create log files in read-only mode
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [ERROR] Plugin ‘InnoDB’ init function returned error.
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [Note] Plugin ‘FEEDBACK’ is disabled.
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [ERROR] Unknown/unsupported storage engine: InnoDB
авг 03 15:45:19 broadband mysqld[19045]: 180803 15:45:19 [ERROR] Aborting
авг 03 15:45:19 broadband mysqld[19045]:
авг 03 15:45:20 broadband mysqld[19045]: 180803 15:45:20 [Note] /usr/sbin/mysqld: Shutdown complete
авг 03 15:45:20 broadband mysqld[19045]:
авг 03 15:45:20 broadband mysqld_safe[19062]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
авг 03 15:45:24 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=188.170.82.201 DST=188.32.114.207 LEN=52 TOS=0x00 PREC=
авг 03 15:45:43 broadband CRON[18327]: pam_unix(cron:session): session closed for user root
авг 03 15:45:49 broadband /etc/init.d/mysql[19509]: 0 processes alive and ‘/usr/bin/mysqladmin —defaults-file=/etc/mysql/debian.cnf ping’ resulted in
авг 03 15:45:49 broadband systemd[1]: mysql.service: Control process exited, code=exited status=1
авг 03 15:45:49 broadband mysql[18463]: …fail!
авг 03 15:45:49 broadband /etc/init.d/mysql[19509]: [61B blob data]
авг 03 15:45:49 broadband systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
— Subject: Ошибка юнита mysql.service
— Defined-By: systemd
— Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Произошел сбой юнита mysql.service.
—
— Результат: failed.
авг 03 15:45:49 broadband /etc/init.d/mysql[19509]: error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111 «Connection refused»)’
авг 03 15:45:49 broadband systemd[1]: mysql.service: Unit entered failed state.
авг 03 15:45:49 broadband /etc/init.d/mysql[19509]: Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!
авг 03 15:45:49 broadband systemd[1]: mysql.service: Failed with result ‘exit-code’.
авг 03 15:45:49 broadband /etc/init.d/mysql[19509]:
авг 03 15:45:50 broadband sudo[18446]: pam_unix(sudo:session): session closed for user root
-
Вопрос заданболее трёх лет назад
-
25736 просмотров
Пригласить эксперта
А доступ у юзера, под которым запускается mysql, к файлам внутри /var/lib/mysql есть?
У вас не инициализируется плагин InnoDB, поэтому процесс останавливается. Почему — причины бывают разные, самая банальная — не хватает памяти. Иногда бывают проблемы с файлами
/var/lib/mysql/ib_logfile0
/var/lib/mysql/ib_logfile1
и помогает удаление.
Я бы начал с памяти, уменьшил бы немного настройки.
/var/lib/mysql/ibdata1 — НЕ УДАЛЯТЬ
Похоже у mysql проблемы с логами.
Попробуй перенести логиmv /var/lib/mysql/ib_log* /tmp
После чего можно запускать. Если в /var/lib/mysql/ таких файлов нету, то проверь в /etc/mysql/my.cnf какие значения у параметров
innodb_data_home_dir
и
innodb_log_group_home_dir
И соответственно в этом каталоге искать файлы логов. Ругается он вроде только на ib_logfile0
Сейчас выдает такие ошибки [….] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See «systemctl status mysql.service» and «journalctl -xe» for details.
failed!
root@broadband:/var/lib/mysql# journalctl -xe
авг 03 16:23:03 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=212.34.248.214 DST=188.32.114.207 LEN=40 TOS=0x00 PREC=
авг 03 16:23:10 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=83.220.237.132 DST=188.32.114.207 LEN=40 TOS=0x08 PREC=
авг 03 16:23:10 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=83.220.237.132 DST=188.32.114.207 LEN=40 TOS=0x08 PREC=
авг 03 16:23:11 broadband sudo[6000]: root : TTY=pts/0 ; PWD=/var/lib/mysql ; USER=root ; COMMAND=/etc/init.d/mysql start
авг 03 16:23:11 broadband sudo[6000]: pam_unix(sudo:session): session opened for user root by serveradmin(uid=0)
авг 03 16:23:11 broadband systemd[1]: Starting LSB: Start and stop the mysql database server daemon…
— Subject: Начинается запуск юнита mysql.service
— Defined-By: systemd
— Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Начат процесс запуска юнита mysql.service.
авг 03 16:23:11 broadband mysql[6017]: * Starting MariaDB database server mysqld
авг 03 16:23:14 broadband mysqld_safe[6622]: Starting mysqld daemon with databases from /var/lib/mysql
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Warning] ‘THREAD_CONCURRENCY’ is deprecated and will be removed in a future release.
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Warning] ‘THREAD_CONCURRENCY’ is deprecated and will be removed in a future release.
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Note] /usr/sbin/mysqld (mysqld 10.0.33-MariaDB-0ubuntu0.16.04.1) starting as process 6626 …
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [ERROR] mysqld: File ‘/var/log/mysql/mysql-bin.index’ not found (Errcode: 13 «Permission denied»)
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [ERROR] Aborting
авг 03 16:23:14 broadband mysqld[6627]:
авг 03 16:23:14 broadband mysqld[6627]: 180803 16:23:14 [Note] /usr/sbin/mysqld: Shutdown complete
авг 03 16:23:14 broadband mysqld[6627]:
авг 03 16:23:14 broadband mysqld_safe[6630]: mysqld from pid file /var/run/mysqld/mysqld.pid ended
авг 03 16:23:20 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=188.92.20.98 DST=188.32.114.207 LEN=40 TOS=0x00 PREC=0x
авг 03 16:23:24 broadband kernel: [UFW BLOCK] IN=enp5s0f0 OUT= MAC=00:15:17:2a:e6:70:00:00:5e:00:01:95:08:00 SRC=195.38.23.96 DST=188.32.114.207 LEN=52 TOS=0x00 PREC=0x
авг 03 16:23:43 broadband CRON[5928]: pam_unix(cron:session): session closed for user root
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: 0 processes alive and ‘/usr/bin/mysqladmin —defaults-file=/etc/mysql/debian.cnf ping’ resulted in
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: [61B blob data]
авг 03 16:23:43 broadband mysql[6017]: …fail!
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111 «Connection refused»)’
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]: Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!
авг 03 16:23:43 broadband /etc/init.d/mysql[7063]:
авг 03 16:23:43 broadband systemd[1]: mysql.service: Control process exited, code=exited status=1
авг 03 16:23:43 broadband systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
— Subject: Ошибка юнита mysql.service
— Defined-By: systemd
— Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Произошел сбой юнита mysql.service.
—
— Результат: failed.
авг 03 16:23:43 broadband systemd[1]: mysql.service: Unit entered failed state.
авг 03 16:23:43 broadband systemd[1]: mysql.service: Failed with result ‘exit-code’.
авг 03 16:23:43 broadband sudo[6000]: pam_unix(sudo:session): session closed for user root
-
Показать ещё
Загружается…
31 янв. 2023, в 07:51
50000 руб./за проект
31 янв. 2023, в 07:34
4500 руб./за проект
31 янв. 2023, в 04:30
200 руб./за проект
Минуточку внимания
- Печать
Страницы: [1] 2 Все Вниз
Тема: Ubuntu 10.04: Не запускается MySQL-сервер после установки (Прочитано 13287 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Yarovoy
Здравствуйте.
Хочу организовать бэкап удаленного сервера при помощи Bacula, которая в свою очередь требует наличия на компьютере установленного MySQL сервера. До этого у меня уже был установлен MySQL, но я давно им не пользовался поэтому решил полностью его реинсталировать. Удалил сервер при помощи
sudo apt-get purge mysql-server
Удалил папку с конфигурацией (наверное, я сглупил сделав это) /etc/mysql и папку со старыми файлами баз данных /var/lib/mysql. После этого пытаюсь заново установить сервер:
yuriy@yuriy-laptop:/$ sudo apt-get install mysql-server
и запустить его:
yuriy@yuriy-laptop:/$ sudo service mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Unknown job: mysql
Как вы видите, запуск сервиса не производится. Уже убил три часа на поиск решения, но гугл ничего существенного не выдает. Поэтому прошу помощи у вас. Но основная задача — это все таки установить Bacula. Поэтому, если это можно сделать без установки MySQL-сервера, то подскажите как.

CyberFox
Та же фигня, только он сначала у меня запускался, а потом лег. И всё.

knyshow

Yarovoy
Хм, видимо какие-то проблемы с совместимостью ОС. Будем писать багрепорт?

Allen
Наверное start-job зависла.
У меня вылечилось так:
# service mysql status
Далее снятие процесса с PID показанным в статусе
mysql start/post-start, process 764
# kill -n 15 764
А затем старт по-новой
# service mysql start

Sataly.
Господа, подскажите плз.
Недавно система обновилась до 10.04 все было ок.
Позавчера после долгих и успешных издевательств над LAMP (учу sql вторую неделю) ноут прочно повис, ребут все дела — mysql не запускается…
Пакет mysql-server-5.1 поврежден не удаляется потому, что:
Package is in a very bad inconsistent state - you should reinstall it before attempting a removal.
и не переустанавливается зависая на:
Preparing to replace mysql-server-5.1 5.1.41-3ubuntu12.3 (using .../mysql-server-5.1_5.1.41-3ubuntu12.3_i386.deb) ...
приходится насильно закрывать
форум+гугль+ман = удалось удалить, но если снова попытаться установить та же самая трабла
попытка поставить mysql-server-5.0 закончилась тем, что Ubuntu ругнулась на конфликт с mysql-server-5.1
подскажите как сделать счастье?
Я часть той силы, что очень хочет зла, но вечно совершает благо.

wizzardzzz
sudo /etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service(
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start( utility, e.g. start mysql
Это не ошибка, это предупреждение, информирующее что теперь не нужно запускать непосредственно скрипты запуска, для этого есть утилита service:
Запуск MySQL:
sudo service mysql start
Остановка MySQL:
sudo service mysql stop
Перезапуск MySQL:
sudo service mysql restart
Смотрим лог ошибок /var/log/mysql/ на что жалуется. У меня забилось место на разделе бедняжка Мйскул не могла развернуся при старте
« Последнее редактирование: 26 Января 2011, 11:06:57 от wizzardzzz »

dj—alex

dr.Faust
Не стартует мускул.
Просто пишет на sudo service mysql start, что попытка запуска неудачна.
Если запускать так: /usr/sbin/mysqld —user=root говорит, что нет директории /var/run/mysqld. Её действительно нет.
Запускаю ручками так:
mkdir /var/run/mysqld; /usr/sbin/mysqld —user=root
Но это же не дело…
В автозапуске есть пункт mysql, но его запуск не включне ни на одном уровне. На каких уровнях он вообще должен запускаться?

maskaral
Была такая же проблема.
Оказалось, что отсутствует файл /etc/mysql/my.cnf.
Соответственно, после его создания с общим содержимым всё заработало.

kanadzava

AnrDaemon
kanadzava, и что бы это значило?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.
Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

kanadzava
просто поделился решением проблемы, сам долго искал
я что то сделал не так?

AnrDaemon
Не объяснили, что это даёт. Со своей колокольни, например, я вижу, что это ничего не даёт, кроме повреждения установленной системы. Вас тоже сдать модераторам как вредителя?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.
Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

kanadzava
Не объяснили, что это даёт.
перевод текста по той ссылке:
«После обновления убунты 10.10 до 11.04 у меня появились некоторые проблемы с мускулем.
Когда я пытался запустить мускуль, получал следующую ошибку: Warning: Fake initctl called, doing nothing..
Я пытался переустановить мускуль, но это не помогло.
Я не знаю что случилось с этой проблемой (? я не силен в английском). Так что я копался в инете пока не нашел инструкцию решающую эту проблему
http://sites.google.com/site/ubuntu4us/artigos/solucao-de-problemas-e-erros/starting-services-ubuntu/fake-start-stop-daemon
Вот путь решения проблемы:
Если вы не можете запустить мускуль, просто введите это в терминал
sudo mv /sbin/initctl /sbin/initctl.FAKE
И снова попробуйте запустить мускуль
sudo ln -s /sbin/initctl.REAL /sbin/initctl
sudo service mysql start
[/font]
Как то так. В чем вред я не знаю, т.к. с линухом дел почти не имел
Вас тоже сдать модераторам как вредителя?
Думаю все бы выиграли если бы вы сразу обьяснили где я ошибся и чем вредят те команды.
- Печать
Страницы: [1] 2 Все Вверх
On Ubuntu 12.04 I had this same problem after changing buffer sizes in /etc/mysql/my.cnf file, I think I got a little carried away. Anyway after trying to change them back to the default setting MySQL still would not start.
I tried several different methods to get it resolved, I did notice that /var/run/mysql/mysql.sock was missing. This could be an issue so you may check there and if its missing you can replace it by doing the following:
sudo touch /var/run/mysql/mysql.sock
sudo chown mysql /var/run/mysql/mysql.sock
This did NOT fix the problem for me! But it may for some.
What I had to do was completely reinstall MySQL, to do this you will need to use the sudo command. The steps to completely removing and reinstalling MySQL are as follows:
Remove MySQL
sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
Optionally you may use aptitude, by replacing apt-get —purge with aptitude
Clean UP
sudo apt-get autoremove
sudo apt-get autoclean
Remove MySQL dir
sudo rm -rf /etc/mysql
Install MySQL
sudo apt-get install mysql-server mysql-client
MySQL should now be running, you can check this by doing the following:
sudo service mysql status
You should see
mysql start/running, process xxxxx
Hope this helps, and thought I might add after doing this all my databases and tables where still available, however I did have to recreate the users and passwords for those databases.
Note: If you had mysql extension for php, you will need to reinstall this too.
sudo apt-get install php5-mysql
See «systemctl status mysql.service» and «journalctl -xeu mysql.service» for details.
goingUp ★★★★★
(10.03.23 22:32:47 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от goingUp 10.03.23 22:32:47 MSK
~# systemctl status mysql.service
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:>
Active: activating (start) since Fri 2023-03-10 19:40:39 UTC; 14s ago
Process: 65885 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=>
Main PID: 65893 (mysqld)
Status: "Server startup in progress"
Tasks: 13 (limit: 9263)
Memory: 254.9M
CPU: 454ms
CGroup: /system.slice/mysql.service
└─65893 /usr/sbin/mysqld
~# journalctl -xeu mysql.service
Mar 10 19:40:39 vps-ad2a411e systemd[1]: mysql.service: Scheduled restart job, >
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ Automatic restarting of the unit mysql.service has been scheduled, as the re>
░░ the configured Restart= setting for the unit.
Mar 10 19:40:39 vps-ad2a411e systemd[1]: Stopped MySQL Community Server.
░░ Subject: A stop job for unit mysql.service has finished
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A stop job for unit mysql.service has finished.
░░
░░ The job identifier is 12696 and the job result is done.
Mar 10 19:40:39 vps-ad2a411e systemd[1]: Starting MySQL Community Server...
░░ Subject: A start job for unit mysql.service has begun execution
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit mysql.service has begun execution.
░░
░░ The job identifier is 12696.
sergmar
(10.03.23 22:43:25 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от easybreezy 10.03.23 23:06:41 MSK
~# systemctl start mysqld
Failed to start mysqld.service: Unit mysqld.service not found.
sergmar
(10.03.23 23:24:09 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sergmar 10.03.23 22:43:25 MSK
Ответ на:
комментарий
от sergmar 10.03.23 23:24:09 MSK
Ответ на:
комментарий
от goingUp 10.03.23 23:26:26 MSK
2023-03-10T17:46:42.468414Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.32-0ubuntu0.22.04.2) initializing of server in progress as process 49524
2023-03-10T17:46:42.476793Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-10T17:46:42.799269Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-10T17:46:45.728425Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2023-03-10T17:46:47.158006Z 6 [System] [MY-013172] [Server] Received SHUTDOWN from user boot. Shutting down mysqld (Version: 8.0.32-0ubuntu0.22.04.2).
2023-03-10T17:46:53.281544Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32-0ubuntu0.22.04.2) starting as process 49572
2023-03-10T17:46:53.320129Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-10T17:46:54.405634Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-10T17:46:55.324352Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-03-10T17:46:55.324422Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-03-10T17:46:55.333616Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/tmp' in the path is accessible to all OS users. Consider choosing a different>
2023-03-10T17:46:55.364653Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
2023-03-10T17:46:55.364744Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.32-0ubuntu0.22.04.2' socket: '/tmp/tmp.l9nVA78umq/mysqld.sock' port: 0 >
2023-03-10T17:46:55.406573Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.32-0ubuntu0.22.04.2).
2023-03-10T17:46:56.812934Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32-0ubuntu0.22.04.2) (Ubuntu).
2023-03-10T17:46:57.879435Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32-0ubuntu0.22.04.2) starting as process 49645
2023-03-10T17:46:57.891045Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-10T17:46:58.036309Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-10T17:46:58.286112Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-03-10T17:46:58.286174Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-03-10T17:46:58.292943Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/tmp' in the path is accessible to all OS users. Consider choosing a different>
2023-03-10T17:46:58.325522Z 7 [System] [MY-013172] [Server] Received SHUTDOWN from user boot. Shutting down mysqld (Version: 8.0.32-0ubuntu0.22.04.2).
2023-03-10T17:46:58.331012Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '127.0.0.1' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-03-10T17:46:59.892933Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32-0ubuntu0.22.04.2) (Ubuntu).
2023-03-10T17:47:01.388548Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32-0ubuntu0.22.04.2) starting as process 49785
2023-03-10T17:47:01.398924Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-10T17:47:01.631829Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-10T17:47:01.990937Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-03-10T17:47:01.990992Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-03-10T17:47:02.029474Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '127.0.0.1' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2023-03-10T17:47:02.029651Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.32-0ubuntu0.22.04.2' socket: '/var/run/mysqld/mysqld.sock' port: 3306 >
2023-03-10T18:27:46.969190Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.32-0ubuntu0.22.04.2).
2023-03-10T18:27:48.971857Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 10 user: 'root'.
2023-03-10T18:27:48.974149Z 0 [Warning] [MY-010909] [Server] /usr/sbin/mysqld: Forcing close of thread 13 user: 'root'.
2023-03-10T18:27:49.815070Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.32-0ubuntu0.22.04.2) (Ubuntu).
2023-03-10T18:28:03.963087Z 0 [Warning] [MY-010143] [Server] Ignoring user change to 'root' because the user was set to 'mysql' earlier on the command line
2023-03-10T18:28:03.966992Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.32-0ubuntu0.22.04.2) starting as process 61673
2023-03-10T18:28:03.979047Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-10T18:28:04.193102Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-10T18:28:04.386252Z 0 [ERROR] [MY-011292] [Server] Plugin mysqlx reported: 'Preparation of I/O interfaces failed, X Protocol won't be accessible'
2023-03-10T18:28:04.386322Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.soc>
2023-03-10T18:28:04.531089Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-03-10T18:28:04.531145Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-03-10T18:28:04.538168Z 0 [ERROR] [MY-010273] [Server] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.
2023-03-10T18:28:04.538230Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file.
sergmar
(10.03.23 23:28:07 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от easybreezy 10.03.23 23:26:57 MSK
Ответ на:
комментарий
от sergmar 10.03.23 23:29:19 MSK
Ответ на:
комментарий
от easybreezy 10.03.23 23:29:37 MSK
Вроде бы запустился mysqld. Ни какую ошибку и ни какое сообщение не выдал. Просто курсор перевелся на новую строку.
sergmar
(10.03.23 23:36:33 MSK)
- Ссылка
Ответ на:
комментарий
от sergmar 10.03.23 23:28:07 MSK
Проверить наличие директории /var/run/mysqld, если нет — создать, владельцем установить mysql:mysql. Если есть — проверить права (см. п.1).
kravzo ★★
(10.03.23 23:45:00 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от kravzo 10.03.23 23:45:00 MSK
Все так и есть.
Директория /var/run/mysqld присутствует. Владельцем является mysql:mysql.
sergmar
(10.03.23 23:47:39 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sergmar 10.03.23 23:47:39 MSK
Ответ на:
комментарий
от ya-betmen 10.03.23 23:50:14 MSK
~# tail /var/log/mysql/error.log
2023-03-10T20:57:01.193444Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:02.193708Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:03.194064Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:04.194449Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:05.194755Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:06.195007Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:07.195212Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:08.195455Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:09.195811Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
2023-03-10T20:57:10.196118Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibda ta1 error: 11
sergmar
(10.03.23 23:57:48 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sergmar 10.03.23 23:57:48 MSK
Ответ на:
комментарий
от ya-betmen 11.03.23 00:02:11 MSK
~# ps ax | grep -i mysql
68217 ? Ssl 0:01 /usr/sbin/mysqld
68270 pts/0 S+ 0:00 grep --color=auto -i mysql
Частино разобрался.
Убил все процессы связанные с mysql, и mysql запустился.
Но теперь проблему в том что не могу запустить ~# mysql.
~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO.)
С чем это связанно?
Пароль для root при установке mysql я присвоил.
sergmar
(11.03.23 00:36:33 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sergmar 11.03.23 00:36:33 MSK
Ответ на:
комментарий
от easybreezy 11.03.23 00:44:51 MSK
~# mysql -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
sergmar
(11.03.23 01:08:32 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sergmar 11.03.23 01:08:32 MSK
И что, пароль не подходит? Ну сбрось его.
Интересно зачем ты его ставил, в убунте вроде по умолчанию через auth socket работает.
- Ссылка
Ответ на:
комментарий
от easybreezy 10.03.23 23:29:37 MSK
Отличная медвежья услуга. Теперь точно не запустится, так как все пермишены и овнеры файлов хрен знает какие.
Не делай так больше.
adn ★★★
(11.03.23 02:51:49 MSK)
Последнее исправление: adn 11.03.23 02:51:59 MSK
(всего
исправлений: 1)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от adn 11.03.23 02:51:49 MSK
Сделает chown, какие проблемы. Но я сильно сомневаюсь, что «все пермишены и овнеры файлов хрен знает какие.».
upd: вообще я конечно ошибся. Но проверил на 20.04, пермишны не меняются, mysqld просто не запустится. Запустится, если сервис уже работает и сокет существует (точнее, /var/run/mysqld).
В любом случае совет вредный, ты прав.
- Показать ответ
- Ссылка
Ответ на:
комментарий
от easybreezy 11.03.23 03:16:05 MSK
После сборса пароля mysql запустился корректно.
Про какие пермишны вы говорите? Нужно ли теперь что то еще делать для корреткной рабоыти и безопасности сервера?
sergmar
(11.03.23 20:04:24 MSK)
- Ссылка