我要把mysql安装到linux服务器上。但我没有超级用户访问该服务器的权限。所以我创建了两个名为mysql和mysqldata的文件夹。mysql文件夹包含二进制文件。mysqldata文件夹保存数据和日志。
my.cnf
[mysqld]
user = mysql
port = 3306
bind-address = localhost
basedir = /home/nwn/mysql/mysql-8.0
socket = /home/nwn/mysqldata/instA/socket/mysql.sock
datadir = /home/nwn/mysqldata/instA/data
tmpdir = /home/nwn/mysqldata/instA/tmp
secure_file_priv = /home/nwn/mysqldata/instA/mysql-files
max_connections = 150
# Logging
log-bin = /home/nwn/mysqldata/instA/logs/instA-binlog
log-error = /home/nwn/mysqldata/instA/logs/instA-errorlog.err
slow_query_log = 1
slow_query_log_file = /home/nwn/mysqldata/instA/logs/instA-slowquery.log
long_query_time = 0.5
# InnoDB
innodb_data_home_dir = /home/nwn/mysqldata/instA/innodb/data
innodb_data_file_path = ibdata1:50M;ibdata2:12M:autoextend:max:500M
innodb_log_group_home_dir = /home/nwn/mysqldata/instA/innodb/log
innodb_buffer_pool_size = 32M
# MyISAM
key_buffer_size = 16M
server_id = 1我做了所有其他的配置。当我运行以下命令时
mysql-8.0]$ bin/mysqld --defaults-file=~/mysqldata/instA/my.cnf --initialize-insercure我在error_log中有以下日志
cat ~/mysqldata/instA/logs/instA-errorlog.err
2018-10-09T10:39:51.127424Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8160)
2018-10-09T10:39:51.127523Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 432 (requested 4000)
2018-10-09T10:39:51.383986Z 0 [Warning] [MY-010101] [Server] Insecure configuration for --secure-file-priv: Location is accessible to all OS users. Consider choosing a different directory.
2018-10-09T10:39:51.384043Z 0 [System] [MY-010116] [Server] /home/nwn/mysql/mysql-8.0/bin/mysqld (mysqld 8.0.12) starting as process 32654
2018-10-09T10:39:51.386625Z 0 [Warning] [MY-010122] [Server] One can only use the --user switch if running as root
2018-10-09T10:39:51.394675Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2018-10-09T10:39:51.394817Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-10-09T10:39:51.394831Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-10-09T10:39:51.395363Z 0 [System] [MY-010910] [Server] /home/nwn/mysql/mysql-8.0/bin/mysqld: Shutdown complete (mysqld 8.0.12) MySQL Community Server - GPL.发布于 2020-05-25 21:45:31
尽管这篇文章很老了,但我花了大约2个小时才弄明白我的解决方案,这可以帮助别人节省时间。
您可以尝试执行以下操作:
shell> mysqld --initialize这将初始化安装MySql服务器的路径中的数据目录。通常放置在C:\Program Files\MySQL\MySQL Server 8.0中。
希望这能帮助到别人。
发布于 2020-12-09 18:21:44
请按照以下步骤在Windows上重置您的MySQL密码:
更改'YourNewPassword';标识的用户'root'@'localhost‘
将文件保存在C:\ change_mysql_pwd.txt下的
“下创建”Data“文件夹
cmd:mysqld --install中的
cmd:mysqld --initialize中的
cmd:mysqld --init-file=C:\\change_mysql_pwd.txt中的
享受吧..。
发布于 2021-05-20 04:31:44
(上下文:新设置,windows server 2016上的mysql 8)真正帮助我摆脱“找不到有效数据目录”的是:
mysqld --初始化--控制台
console部分在命令行上直接告诉您错误的地方和要做的事情。因为我有一个干净的安装,所以我缺少"data“目录。但是,如果您的数据中的设置在新安装的版本中不受支持,则会使用上面列出的命令生成“my.ini”目录。如果您在my.ini中有多个错误设置,则需要首先删除新创建的"data“目录。注意:首先检查数据目录中是否有数据库,否则将丢失所有数据库!!所以只在新安装时使用它。
在步骤中:
从命令运行mysqld -- administrator
现在,MySql应该启动了。
https://stackoverflow.com/questions/52719378
复制相似问题