我使用二进制zip安装了MySQL社区服务器5.7.10。我在c:\mysql
中解压缩了zip并在c:\mysql\data
中创建了数据文件夹。我创建了配置文件my.ini
并将其放在c:\mysql
(提取的zip的根文件夹)中。以下是my.ini
文件的内容
# set basedir to your installation path
basedir=C:\mysql
# set datadir to the location of your data directory
datadir=C:\mysql\data
我正在尝试使用mysqld --console
启动MySQL,但是进程因以下错误而中止。
2015-12-29T18:04:01.141930Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2015-12-29T18:04:01.141930Z 0 [ERROR] Aborting
任何有关这方面的帮助将不胜感激。
您必须通过运行以下命令来初始化数据目录
mysqld --initialize
[随机root密码]
mysqld --initialize-insecure
[空白root密码]
mysqld --initialize初始化数据目录然后mysqld&
如果您已经启动了mysqld并且没有mysqld --initialize,则可能必须删除数据目录中的所有文件
您还可以修改/etc/my.cnf以将自定义路径添加到数据目录,如下所示:
[mysqld]
...
datadir=/path/to/directory
在Maria DB上你使用mysql_install_db
。在我的例子中,我使用环境变量作为数据路径,这意味着mysqld不仅需要知道通过命令行在哪里,而且安装脚本也是如此:
mysql_install_db --user=root --datadir=$db_datapath
我有同样的问题。由于某种原因--initialize
没有工作。在使用不同的参数,配置和命令进行大约5个小时的试验和错误之后,我发现问题是由文件系统引起的。
我想在大型USB硬盘驱动器上运行数据库。大于2 TB的驱动器是GPT分区的!这是一个带有解决方案的错误报告:
https://bugs.mysql.com/bug.php?id=28913
简而言之:将以下行添加到my.ini:
innodb_flush_method=normal
我在Windows上遇到了mysql 5.7的这个问题。
如上所述,我有与mysql-5.7.18类似的问题, 我这样做了 1.从“MYSQL_HOME \ bin \ mysqld.exe --initialize-insecure”执行此命令 2.然后启动“MYSQL_HOME \ bin \ mysqld.exe” 3.将工作台连接到此localhost:3306,用户名为“root” 4.然后执行此查询“SET PASSWORD FOR'root'@'localhost'='root';”
密码也已成功更新。