第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > mysql无法启动无法停止_Centos7以上的版本 mysql 无法启动 无法停止问题

mysql无法启动无法停止_Centos7以上的版本 mysql 无法启动 无法停止问题

时间:2023-02-10 12:38:31

相关推荐

mysql无法启动无法停止_Centos7以上的版本 mysql 无法启动 无法停止问题

service mysqld start

始终提示如下:

Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

systemctl start/stop mysqld.service

systemctl start/stop mysql.service

死活都提示找不到。

使用 kill -9 pid 杀掉进程后,只是换了一个pid 又启动了3306端口,

【你是不是用mysqld_safe起的mysql?这是个守护进程,用它起数据库的话,直接kill它会检测到数据库非正常关闭,会自动尝试起数据库。你可以选择先kill掉mysqld_safe的进程然后再kill mysql;或者使用这个命令:kill -9 `ps -ef | grep 'mysqld' | grep -v grep|awk '{print $2}'`】

无奈,网上搜索半天总算找到一个可以用的。 其实是默认的这个环境一起安装了一个叫MariaDB的东西(可以把它理解为mysql的安全向导),帮助提高mysql的安全性。

原文的思路如下,先查看mysql版本,发现是mysql是有的,但是为何提示不存在呢,那就一步步排查原因。

后面就找到 etc/f 这个文件打开查看引用的各个路径,也都一一找到了。 那这到底是为啥呢,这老外也是百思不得解,然后他也进行了搜索,搜到一篇stackoverflow的内容,就是安装MariaDB之后,就找不到mysqld了。于是乎一楼的答案就给出了:

安装MariaDB之后必须先启动MariaDB才能启动mysqld,其实就是运行一下MariaDB向导,它是个一次性的东东,就是帮助你提高mysql安全性的,详细看这里:/article/47727.htm

总结一下就是运行下面三句就搞定啦:

systemctl start mariadb.service

systemctl enable mariadb.service

mysql_secure_installation

运行mysql_secure_installation。运行mysql_secure_installation会执行几个设置:

a)为root用户设置密码

b)删除匿名账号

c)取消root用户远程登录

d)删除test库和对test库的访问权限

e)刷新授权表使修改生效

通过这几项的设置能够提高mysql库的安全。建议生产环境中mysql安装这完成后一定要运行一次mysql_secure_installation,详细步骤请参看下面的命令:

MySQL service not running on CentOS 7 system

I had installed theMariaDB, aforkof theMySQLrelational database management system (RDBMS)on a CentOS 7 system when I set up the system. When I checked the version of the software with themysql --versioncommand, I saw the following:

# mysql --version

mysql Ver 15.1 Distrib 5.5.37-MariaDB, for Linux (x86_64) using readline 5.1

But, when I ran themysqlcommand on the system, I received the error message shown below:

# mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

I checked to see if the mysqld service was running and found it was not.

# systemctl status mysqld.service

mysqld.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

When I tried to start the service, it wouldn't start.

# service mysqld start

Redirecting to /bin/systemctl start mysqld.service

Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

# systemctl start mysqld.service

Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

I checked the contents of the/etc/ffile and saw the following:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions in /wiki/Systemd

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

#

# include all files from the config directory

#

!includedir /etc/f.d

I checked for the existence of files and directories listed in that file. I saw the following results for the locations fordatadir,socket,log-error, andpid-file:

# ls -ld /var/lib/mysql

drwxr-xr-x. 19 mysql mysql 4096 Oct 14 23:46 /var/lib/mysql

[root@localhost install]# ls -l /var/lib/mysql/mysql.sock

srwxrwxrwx. 1 mysql mysql 0 Sep 29 15:05 /var/lib/mysql/mysql.sock

# ls -l /var/log/mariadb/mariadb.log

-rw-r-----. 1 mysql mysql 0 Oct 5 20:49 /var/log/mariadb/mariadb.log

# ls -l /var/run/mariadb/mariadb.pid

ls: cannot access /var/run/mariadb/mariadb.pid: No such file or directory

I didn't see anymariadb.pidfile, but I wouldn't expect it to be created until the mysqld service successfully started.

When I checked the files in theincludedirdirectory, I saw the following:

# ls -l /etc/f.d

total 12

-rw-r--r--. 1 root root 295 Apr 15 f

-rw-r--r--. 1 root root 232 Apr 15 mysql-f

-rw-r--r--. 1 root root 744 Apr 15 f

So I didn't know why I was getting the "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'" message when I issued the commandmysqlnor why my attempt to start the mySQL service failed with a "No such file or directory" message. Searching online, I found a posting bydannethatNo mysqld or mysql.server after mariadb-server installto usesystemctl start mariadb.service. When I used that command, I didn't see any error messages. I tried thesystemctl startus mysqld serviceafter issuing the command, but still saw a error message for it. But, when I then issued themysqlcommand I received an "access denied" message this time, which seemed reasonable, since I hadn't provided the password for the root account when I issued the command..

# systemctl start mariadb.service

# systemctl status mysqld service

mysqld.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

service.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

When I was using CentOS 5, I had MySQL rather than MariaDB and I didn't know I needed to start the MariaDB RDBMS service on the CentOS 7 system using a command referencingmariadbrathermysqld. I assumed I could reference mysqld to start the service.

The history behind the creation of MariaDB can be found in thehistory section of the Wikipedia article on MySQL. MariaDB was created by one of the cofounders of MySQL,Michael Widenius, afterOracle Corporationobtained rights to the MySQL software fromSun Microsystems.

To have the MariaDB service start automatically each time the system boots, issue the commandsystemctl enable mariadb.service. After you have started the service, also issue the commandmysql_secure_installation.

# mysql_secure_installation

/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user. If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n

... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y

... Success!

By default, MariaDB comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] Y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] Y

ERROR 1146 (42S02) at line 1: Table 'mysql.servers' doesn't exist

... Failed!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

I had it remove the anonymous account, since leaving it would be a security vulnerability. I also chose to disallow remote root login to MariaDB and the test database for the same reason.

I had copied the contents of the/var/lib/mysqldirectory from the hard drive of the prior CentOS 5 system to the new CentOS 7 system to have all of the databases from the old system available on the new system, so that appeared to be the reason that themysql_secure_installation, which can be found in/usr/bin, did not accept my just hittingEnterfor the password initially. When I entered the root password for MySQL on the old system, it was accepted. And I was able finally get a prompt where I could enter SQL commands using that password withmysql -u root -p.

# mysql -u root -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 11

Server version: 5.5.37-MariaDB MariaDB Server

Copyright (c) 2000, , Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

So the 3 steps to enable and run MariaDB are as follows, assuming it was previously installed during the initial setup for the system or withyum install mariadb mariadb-server:

systemctl start mariadb.service

systemctl enable mariadb.service

mysql_secure_installation

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。