MySQL问题-Unit mysqld.service could not be found.
原创
©著作权归作者所有:来自51CTO博客作者wx5cb71f4b705da的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 需求:昨天决定转到团队的服务器开发,但是因为以前不是我配置的,所以重启服务器之后,mysql这个服务就丢失了,怎么也没法启动,昨天下午,个人的服务器又崩了,所以这个问题现在才做好,记录仪下
- 找不到mysqld服务
具体命令
service mysqld status
systemctl status mysqld
结果
Unit mysqld.service could not be found.
根据报错结果以及自上网搜发现是/etc/init.d不存在mysqld这个命令
- 找到mysql.server文件,这个文件据说与mysqld文件一模一样,只是文件名不同
[root@ldy ~]$ find / -name mysql.server
/usr/local/mysql-8.0.13/support-files/mysql.server
- 复制 mysql.server文件到/etc/init.d/目录下,重命名为mysqld
[root@ldy ~]$ cp /usr/local/mysql-8.0.13/support-files/mysql.server /etc/init.d/mysqld
- 查看mysqld status状态
[root@ldy ~]$ service mysqld status
/etc/init.d/mysqld: line 239: my_print_defaults:
报了上面这个错
我不死心,事了下启动
4. 启动Mysqld,查看错误
[root@ldy ~]$ service mysqld start
/etc/init.d/mysqld: line 239: my_print_defaults: command not found
/etc/init.d/mysqld: line 259: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
这次我发现都是在mysqld这个命令里面的错误,而且我至少知道,mysql安装路径不是这个
而是这个
[lidengyin@ldy ~]$ cd /usr/local/mysql-8.0.13/
[lidengyin@ldy mysql-8.0.13]$ pwd
/usr/local/mysql-8.0.13
- 进入mysqld尝试修改基本路径
[root@ldy etc]$ vim -n /etc/init.d/mysqld
具体修改报错路径为正确路径
报错路径
66 basedir=/usr/local/mysql
67 bindir=/usr/local/mysql/bin
68 if test -z "$datadir"
69 then
70 datadir=/usr/local/mysql/data
71 fi
72 sbindir=/usr/local/mysql/bin
73 libexecdir=/usr/local/mysql/bin
改正路径
66 basedir=/usr/local/mysql-8.0.13
67 bindir=/usr/local/mysql-8.0.13/bin
68 if test -z "$datadir"
69 then
70 datadir=/usr/local/mysql-8.0.13/data
71 fi
72 sbindir=/usr/local/mysql-8.0.13/bin
73 libexecdir=/usr/local/mysql-8.0.13/bin
- 再次查看状态并进行启动
[root@ldy etc]$ service mysqld status
ERROR! MySQL is not running
[root@ldy etc]$ service mysqld start
Starting MySQL.Logging to '/usr/local/mysql-8.0.13/data/izwz9f5dsyzzjf3wit8o3cz.err'.
... SUCCESS!
7. 进入mysql与报错
[root@ldy etc]$ mysql -uroot -p
-bash: mysql:
没有找到命令,改用绝对路径
[root@ldy etc]$ /usr/local/mysql-8.0.13/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
成功
8. 增加环境变量添加软链接
系统默认会查找/usr/bin下的命令,如果该目录下不存在此命令,我们需要做一个映射到/usr/bin目录下,相当于建立链接文件
[root@ldy etc]$ ln -s /usr/local/mysql-8.0.13/bin/mysql /usr/bin
[root@ldy etc]$ whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql
[root@ldy etc]$ ln -s /usr/local/mysql-8.0.13/bin/mysql /usr/local/bin
[root@ldy etc]$ whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/bin/mysql
输入mysql会报错
[root@ldy etc]$ mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@ldy etc]$ mysql -version
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
但是已经可以成功登陆了
[root@ldy etc]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- 解决 Access denied for user ‘root’@‘localhost’ (using password: YES)问题
这个难到我了my.ini我这应该不用该,因为我可以通过
成功进入,只是单独的mysql命令失败,有谁知道欢迎留言。