IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Mysql启动过程错误解决方案 -> 正文阅读

[系统运维]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>
?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:17:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:00:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码