Mysql启动过程错误解决方案

1、下载 mysql5.7 的rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2.安装rpm包
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件:mysql-community.repo、mysql-community-source.repo

ls /etc/yum.repos.d/

二、yum安装
注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本
cd /etc/yum.repos.d/
安装
yum install mysql-server -y

报错:仓库 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查仓库的公 钥 URL 是否配置正确
成功处理的方法记录下。
rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 

1、启动
systemctl enable mysqld // 开机启动
systemctl start mysqld

2.获取临时登录密码(首次登录)
grep 'temporary password' /var/log/mysqld.log

3.登录
mysql -u root -p
然后输入密码(刚刚获取的临时密码)

4.重置密码
查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
设置密码:长度大于8位,含大写字母、小写字母、数字、标点符号。如:Mysql:01
set password = password("yourpassword"); 

四、远程访问
## 使用mysql库
use mysql;
## 修改user表中的Host,% 代表任意的客户端,可替换成具体IP地址。
update user set Host='%' where User='root';  
## 刷新
flush privileges;

-----------------------------------错误解决方案如下---------------------------------------

[root@localhost yum.repos.d]# systemctl enable mysqld
[root@localhost yum.repos.d]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
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
修改数据库存放目录
[root@localhost yum.repos.d]# mkdir -p /opt/mysql/data

您在 /var/spool/mail/root 中有新邮件
[root@localhost yum.repos.d]# vi /etc/my.cnf
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# cd /var/lib/m
machines/      misc/          mlocate/       mysql/         mysql-files/   mysql-keyring/
[root@localhost yum.repos.d]# cd /var/lib/mysql
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]# ls
[root@localhost mysql]# systemctl start mysqld
^C
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]# ^C
[root@localhost mysql]# ^C
[root@localhost mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: activating (start-pre) since 一 2022-04-25 13:34:17 CST; 1min 57s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Control: 24343 (mysqld_pre_syst)
    Tasks: 28
   CGroup: /system.slice/mysqld.service
           └─control
             ├─24343 /bin/bash /usr/bin/mysqld_pre_systemd
             └─24373 /usr/sbin/mysqld --initialize --datadir=/opt/mysql/data --user=mysql --init-file=/var/lib/mysql-files/install-...

4月 25 13:34:17 localhost.localdomain systemd[1]: Starting MySQL Server...
[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log
2022-04-25T05:34:33.968404Z 1 [Note] A temporary password is generated for root@localhost: FKlYFfSM2q<!
[root@localhost mysql]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@localhost mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

4月 25 13:39:24 localhost.localdomain systemd[1]: mysqld.service holdoff time over, scheduling restart.
4月 25 13:39:24 localhost.localdomain systemd[1]: Stopped MySQL Server.
4月 25 13:39:24 localhost.localdomain systemd[1]: Starting MySQL Server...
[root@localhost mysql]#  lsof -i:3306
[root@localhost mysql]# systemctl stop mysqld
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost mysql]#  vi /var/log/mysqld.log
查看日志发现
1)错误
The innodb_system data file 'ibdata1' must be writable
字面意思:’ibdata1必须可写
那么解决方案自然是更改对应权限
通过yum安装的话,
5.7版本以前是
chmod -R 777 /usr/local/mysql/data/
5.7版本以后是
chmod -R 777 /var/lib/mysql

如果不是通过yum安装的话:
find / -name ibdata1
找到对应目录更改权限~
2)警告
Can't create test file /opt/mysql/data/localhost.lower-test
第一,selinux,记得当年字符界面安装redhat(很古老的操作系统么。。。)的时候,有这么一个选项,通常都听取前辈的建议,
改变默认值以不安装它。但如果你恰好要操作的这台机器开着selinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的操作,
并爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭selinux,以便让你的操作可以继续下去

setenforce 0

但最好使用一个永久方法,以便在重启后继续不要这货。
修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启或等待下次重启。

第二,apparmor,这个坑爹货和selinux一样的坑爹,它也对mysql所能使用的目录权限做了限制
在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限
把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两

[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# chmod -R 777 /opt/mysql/
[root@localhost mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost mysql]# systemctl stop mysqld
[root@localhost mysql]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost mysql]#  vi /var/log/mysqld.log
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# vi  /etc/apparmor.d/usr.sbin.mysqld
[root@localhost mysql]# cat   /etc/apparmor.d
cat: /etc/apparmor.d: 没有那个文件或目录
[root@localhost mysql]# cd   /etc/apparmor.d
-bash: cd: /etc/apparmor.d: 没有那个文件或目录
[root@localhost mysql]#  vi /var/log/mysqld.log
您在 /var/spool/mail/root 中有新邮件
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# setenforce 0
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]#  lsof -i:3306
COMMAND   PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
mysqld  31934 mysql   21u  IPv6 2943808      0t0  TCP *:mysql (LISTEN)
[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log
2022-04-25T05:34:33.968404Z 1 [Note] A temporary password is generated for root@localhost: FKlYFfSM2q<!
[root@localhost mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.37

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set password = password("111111");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set password = password("xx#123456");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set password = password("Xxx@#123456");
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set Host='%' where User='root';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql>
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
启动MySQL错误193通常是由于系统找不到或无法识别MySQL的可执行文件导致的。根据引用中的描述,可能是由于您的MySQL安装文件损坏或不完整所致。以下是一些解决方案供您参考: 1. 检查MySQL安装文件是否完整:确保您的MySQL安装文件没有损坏或丢失任何关键文件。 2. 删除空文件:根据引用的建议,您可以检查MySQL安装目录中是否存在名为"mysqld"的空文件。如果存在,尝试将其删除,然后重新启动MySQL服务。 3. 使用其他MySQL安装版本的mysqld.exe文件:引用提到,您可以尝试从其他MySQL安装目录中的“C:Program FilesMySQLMySQL Server 5.6bin”目录中复制一个有效的mysqld.exe文件,并确保其版本与您当前的安装版本相同。 请根据上述解决方案尝试解决启动MySQL错误193的问题。如果问题仍然存在,请提供更多详细信息,以便能够给出更准确的建议。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL报 net start mysql 发生系统错误 193](https://blog.csdn.net/weixin_47957229/article/details/123506551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MYSQL 启动错误193](https://blog.csdn.net/a379039233/article/details/46819877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaojingsong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值