我知道,这真的很难过,但我无法连接到MySQL数据库。
我只是从MySQL站点下载并解压缩了mysql-5.6.10-win32.zip。
我关注this tutorial,但我无法以root身份连接到我的MySQL数据库。
我知道在没有密码的情况下以root身份连接是不安全的,但我只需要做一些测试,所以我现在可以这样做(如果我知道如何以root身份连接我知道如何另外添加另一个用户。)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir=c:\Programs\mysql-5.6.10-win32
datadir=c:\Programs\mysql-5.6.10-win32\data
port=3306
server_id=1
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
port=3306
当我开始mysqld
时,我看到:
> mysqld --console --init-file=..\set_root_password.sql
2013-04-02 13:48:24 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-04-02 13:48:24 8600 [Note] Plugin 'FEDERATED' is disabled.
2013-04-02 13:48:24 8600 [Note] InnoDB: The InnoDB memory heap is disabled
2013-04-02 13:48:24 8600 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-04-02 13:48:24 8600 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-04-02 13:48:24 8600 [Note] InnoDB: CPU does not support crc32 instructions
2013-04-02 13:48:24 8600 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2013-04-02 13:48:24 8600 [Note] InnoDB: Completed initialization of buffer pool
2013-04-02 13:48:24 8600 [Note] InnoDB: Highest supported file format is Barracuda.
2013-04-02 13:48:24 8600 [Note] InnoDB: 128 rollback segment(s) are active.
2013-04-02 13:48:24 8600 [Note] InnoDB: Waiting for purge to start
2013-04-02 13:48:24 8600 [Note] InnoDB: 1.2.10 started; log sequence number 1626183
2013-04-02 13:48:24 8600 [Note] Server hostname (bind-address): '*'; port: 3306
2013-04-02 13:48:24 8600 [Note] IPv6 is available.
2013-04-02 13:48:24 8600 [Note] - '::' resolves to '::';
2013-04-02 13:48:24 8600 [Note] Server socket created on IP: '::'.
2013-04-02 13:48:24 8600 [Note] Event Scheduler: Loaded 0 events
2013-04-02 13:48:24 8600 [Note] Execution of init_file '..\set_root_password.sql' started.
2013-04-02 13:48:24 8600 [Note] Execution of init_file '..\set_root_password.sql' ended.
2013-04-02 13:48:24 8600 [Note] mysqld: ready for connections.
Version: '5.6.10' socket: '' port: 3306 MySQL Community Server (GPL)
set_root_password.sql
包含我在How to reset root password中找到的一些命令,以及我希望他们帮助的其他命令:
UPDATE mysql.user SET Password=PASSWORD('pass') WHERE User='root';
grant all privileges on *.* to 'root'@'%';
grant all privileges on *.* to 'root'@'localhost';
grant all privileges on *.* to 'root@localhost';
SHOW GRANTS FOR 'root'@'%';
FLUSH PRIVILEGES;
但我无法登录。
要登录我试过:
>mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
>mysql -u root --password=pass
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
>mysql
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
>mysql -u root --password=
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
>mysql -u root --password=mysql
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
>mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
>mysqladmin --no-defaults -u root version
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
在一些教程中,我读到了mysqladmin
命令,但它也需要root密码。
我也尝试将密码和mysql作为默认密码清空,没有任何问题。
我也尝试--skip-grant-tables
但没有成功。
我在MySQL主目录的bin目录中没有mysqld_safe,所以我无法尝试。
我试着阅读与此问题相关的所有问题,但我不知道我还能尝试什么......
我很沮丧为什么它不像“下载和运行”那么简单。我不想下载Win安装程序,因为我不希望在Windows启动时启动服务,并且在我的系统中没有控制地复制其他东西......
答案 0 :(得分:4)
我刚刚发现,我必须连接指定-h和我的PC名称ipconfig -all
>ipconfig -all
Windows IP Configuration
Host Name . . . . . . . . . . . . : PC1234
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : tmdev
和
mysql -u root -h PC1234 --password=pass
工作正常。感谢帮助。这很奇怪,但它现在正在运作。
修改强>
我遇到连接该配置的问题。我通过在my.ini中指定bind-address
来解决它:
bind-address=localhost