mysql8初始化 2021-12-18版本 设置mysql大写

本文详细介绍MySQL的安装步骤,包括备份、删除旧版本、配置新版本等,并提供了具体配置参数及命令,最后还介绍了如何创建用户及分配权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为数据库大小写的原因,需要初始化修改才生效所以开始吧.

1 备份,删除当前mysql

运行命令 net stop mysql

确保备份完成

清理mysql 安装目录下的data

运行命令 mysqld --remove

2 根据需求设置好 mysql.ini 文件 网络上很多版本都老化了

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Main\mysql8\
# 设置mysql数据库的数据的存放目录,在安装mysql-5.7.30-winx64.zip版本的时候,此配置不可添加,否则mysql将无法启动。
# datadir=E:\Software\mysql-8.0.19-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
# 关闭ssl
#skip_ssl
# 配置时区
default-time_zone='+8:00'
#lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的 
lower_case_table_names=2
[mysql]
# 设置mysql客户端默认字符集
#default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

3 终端命令下进入mysql 安装文件夹

运行 mysqld --install

运行 mysqld --initialize --user=mysql --console

4 记录好初始密码,图片红色部分

5运行服务

net start mysql

 登录mysql

mysql -u root -p

6修改密码

alter user 'root'@'localhost' identified by '123456';

7 创建新用户

 use mysql
 create user 'sunwork'@'%' identified by 'qwe123';

8 权限给与 

grant all privileges  on *.*  to "sunwork"@'%';

9 处理客户端登录失败的问题  (如登录无问题,跳过)

ALTER USER 'sunwork'@'%' IDENTIFIED WITH mysql_native_password BY 'qwe123

<think>好的,我现在需要帮助用户解决如何初始化MySQL 5.7数据库的问题。首先,用户之前遇到了mysql.user表不存在的错误,现在可能已经通过重新初始化解决了,但需要正确的步骤指导。 首先,我要回顾MySQL 5.7的初始化方法,因为不同版本初始化步骤可能不同。记得在5.7版本中,初始化命令可能需要使用mysqld --initialize或mysql_install_db,具体取决于系统配置。 接下来,用户可能是在全新安装MySQL后没有正确初始化,或者数据目录被误删导致的问题。需要确保用户有正确的权限,尤其是MySQL的数据目录的所有权和权限是否正确,比如mysql用户和组。 然后,步骤应该包括停止MySQL服务,备份旧数据(如果有的话),运行初始化命令,设置权限,启动服务,然后获取临时密码。需要提醒用户注意临时密码的位置,通常在日志文件中,比如/var/log/mysqld.log。 还要考虑用户是否在Docker环境中运行,如果是的话,初始化步骤可能有所不同,可能需要挂载卷或者使用特定的Docker命令。比如,在Docker中可能需要使用--initialize选项或者环境变量来初始化。 另外,用户可能需要知道初始化后的安全设置,比如运行mysql_secure_installation来加强安全,修改root密码等。这也是初始化后重要的步骤,不能遗漏。 需要检查常见的错误点,比如权限问题,SELinux或AppArmor的限制,这些可能导致初始化失败。如果用户遇到问题,可能需要指导他们如何检查日志,排查错误。 最后,要确保语言简洁明了,步骤清晰,让用户能够一步步跟随操作,避免使用过于专业的术语,但又要准确。可能还需要提醒用户备份数据,防止数据丢失,尤其是在生产环境中。</think>以下是MySQL 5.7数据库初始化的完整操作指南(注意:执行前请确保没有重要数据,初始化会清空现有数据): --- ### **一、初始化前的准备** 1. **停止MySQL服务** ```bash systemctl stop mysqld ``` 2. **清理旧数据(重要!)** ```bash mv /var/lib/mysql /var/lib/mysql.bak # 备份原有数据目录(如果有需要保留的数据) mkdir /var/lib/mysql # 新建空目录 chown mysql:mysql /var/lib/mysql # 设置所有权 ``` --- ### **二、执行初始化操作** #### ▶ **方式1:自动初始化(推荐)** ```bash mysqld --initialize --user=mysql --datadir=/var/lib/mysql ``` - 参数说明: - `--initialize`:创建新数据库并生成随机root密码 - `--user`:指定运行MySQL的系统用户 - `--datadir`:指定数据目录路径 #### ▶ **方式2:传统初始化(旧系统兼容)** ```bash mysql_install_db --user=mysql --datadir=/var/lib/mysql ``` --- ### **三、获取临时密码** ```bash grep 'temporary password' /var/log/mysqld.log ``` 输出示例: ```log 2025-03-05T15:20:12.123456Z 1 [Note] A temporary password is generated for root@localhost: Jqkl#T9!z9Xa ``` --- ### **四、启动服务并登录** ```bash systemctl start mysqld mysql -uroot -p ``` 输入上一步获取的临时密码 --- ### **五、修改root密码(强制操作)** ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; ``` 密码要求: - 至少8字符 - 包含大写字母 - 包含特殊字符 - 包含数字 --- ### **六、验证初始化结果** ```sql SHOW DATABASES; ``` 应看到以下系统数据库: ```txt +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ ``` --- ### **七、安全加固(可选)** ```bash mysql_secure_installation ``` 按提示完成: 1. 重置root密码 2. 删除匿名用户 3. 禁止远程root登录 4. 删除测试数据库 5. 重载权限表 --- ### **常见问题处理** **Q1:初始化时报错`--initialize specified but the data directory exists`** ```bash rm -rf /var/lib/mysql/* # 清空数据目录后再试 ``` **Q2:忘记临时密码** ```bash # 方法1:使用--init-file重置 systemctl stop mysqld echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';" > /tmp/reset.sql mysqld --init-file=/tmp/reset.sql & ``` --- ### **初始化原理说明** MySQL 5.7的初始化过程会: 1. 创建`mysql`系统数据库 2. 生成`performance_schema`和`sys`架构 3. 创建SSL/RSA文件 4. 初始化时区表 5. 创建默认的root用户 --- **操作建议:** 1. 生产环境建议先创建完整的数据库备份 2. 使用`--initialize-insecure`参数可生成空密码(不安全,仅限测试环境) 3. 建议在初始化后立即执行`mysql_upgrade`(仅限主版本升级时)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值