Procesul Mysqld există deja, atunci când încerc să îl pornesc/repornesc (Programare, Mariadb)

utilizator5823669 a intrebat.
a intrebat.

Folosesc mariaDB.Practic, de fiecare dată când îl pornesc, îmi spune că există deja un proces mysqld. De ce trebuie să execut sudo apachectl start pentru ca mysql să funcționeze?Nu ar trebui să am nevoie doar de mysql.server start?

mysql.server restart<br/>
Shutting down MySQL
.. SUCCESS!
Starting MySQL
.171102 15:59:35 mysqld_safe Logging to '/usr/local/var/mysql/****.err'.
171102 15:59:35 mysqld_safe A mysqld process already exists
SUCCESS!

Și o problemă conexă este că atunci când editez etc/my.cnf nu face nimic.Știu doar că fac ceva greșit, dar nu văd ce.

edit: După ce am făcut mysql.server stop, apoi ps aux, asta este ceea ce obțin:`

drewson           9625   0.0  0.0  2466636   2756 s001  S+    3:55pm  0:00.59 mysql -u root -p --max_allowed_packet=1073741824 -D hive
drewson          10235   0.0  0.0  2442020   1936 s000  S+    4:36pm   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql
drewson          10186   0.0  1.3  2969520 108876   ??  S     4:35pm   0:00.26 /usr/local/opt/mariadb/bin/mysqld --basedir=/usr/local/opt/mariadb --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mariadb/lib/plugin --log-error=/usr/local/var/mysql/drewson.err --pid-file=drewson.pid
drewson          10105   0.0  0.0  2444660   2376   ??  S     4:35pm   0:00.02 /bin/sh /usr/local/opt/mariadb/bin/mysqld_safe --datadir=/usr/local/var/mysql`

Și iată și informații din jurnalul meu de erori:

2017-11-02 16:35:05 140735735079872 [ERROR] mysql.user has no `Event_priv` column at position 29
2017-11-02 16:35:05 140735735079872 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 14 to have type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH'), found type set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_A
2017-11-02 16:35:05 140735735079872 [ERROR] mysqld: Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
2017-11-02 16:35:05 140735735079872 [Note] Reading of all Master_info entries succeded
2017-11-02 16:35:05 140735735079872 [Note] Added new Master_info '' to hash table
2017-11-02 16:35:05 140735735079872 [Note] /usr/local/opt/mariadb/bin/mysqld: ready for connections.
Version: '10.2.10-MariaDB'  socket: '/tmp/mysql.sock'  port: 3306  Homebrew`

Comentarii

  • puteți arăta un pic de /usr/local/var/mysql/****.err fișier jurnal? ce sistem de operare folosiți linux/windows/bsd/osx ? ce anume? ps -aux îți dă în ieșire când faci mysql.server stop ? –  > Por ocupat.
  • Ok, am actualizat-o cu sfaturile tale! – user5823669
1 răspunsuri
ocupat

modificările my.cnf nu se reflectă deoarece scriptul principal de repornire nu închide vechea instanță mysql din anumite motive. ( date corupte, configurație proastă, cale de fișier lipsă pid, permisiuni greșite, mysql pornit cu alt script). În funcție de ce fel de mașină este aceea și ce fel de date serviți, ați putea încerca să omorâți manual procesele pentru mysql și să îl porniți din nou dintr-un script. Dar văd unele mesaje de eroare care apar atunci când integritatea bazei de date este puțin pierdută (acest lucru ar trebui să fie rezolvat ) – și după repornirea sistemului s-ar putea să ajungeți în aceeași situație de la început sau cu pierderi de date.

Eu aș face pașii mai mult un like:

  1. să fac o copie de rezervă a bazei de date (tabele)mysqldump database > database.sql
  2. faceți o copie de rezervă binară a întregului dosar mysql (dacă este posibil )
  3. actualizați mysql la cel mai recent format, deoarece jurnalul de erori indică faptul că ar putea fi o problemă de format mysql_upgrade
  4. verificați problemele de pe tabele mysqlcheck -u root -p --auto-repair --check --all-databases
  5. verificați starea de sănătate a discului/sistemului
  6. încercați să opriți din nou serverul bazei de date (după remedieri) dacă nu reușește:
  7. verificați din nou jurnalul de erori dacă nu există erori:
  8. ucideți procesul kill -9 processnumberhere de la ps -aux coloana 2
  9. verificați ps -aux dacă serverul este încă listat, dacă nu, porniți-l și verificați din nou jurnalul de erori.
  10. verificați dacă există un fișier pid ls -l /usr/local/var/mysql/ ( dacă nu există niciun proces, eliminați manual acest fișier)
  11. reporniți sistemul dacă este posibil – uneori ajută…., dar ar putea face ca și serverul să nu funcționeze.

Sper că vă ajută puțin.

Comentarii

  • Nu pot să fac upgrade la mysql, pentru că am nevoie de versiunea 5.6 pentru muncă :/, dând totuși o șansă celorlalte sugestii! – utilizator5823669
  • nu este vorba de upgrade-ul versiunii mysql – upgrade-ul versiunii schemei. Este un lucru diferit. Păstrezi versiunea serverului așa cum este. Aici este un document pentru mysql_upgrade comanda –  > Por ocupat.

Tags: