2013-04-02 21 views
11

Wiem, to naprawdę smutne, ale nie jestem w stanie połączyć się z bazą danych MySQL.Mysql: Odmowa dostępu dla użytkownika 'root' @ 'localhost'

Po prostu donwloaded i rozpakowałem mysql-5.6.10-win32.zip z witryny MySQL.

Poszłam za this tutorial, ale nie jestem w stanie połączyć się z moją bazą danych MySQL jako root.

Wiem, że nie jest bezpieczne łączenie się jako root bez hasła, ale po prostu muszę zrobić test, więc jest to dla mnie w porządku, aby to zrobić teraz (i jeśli wiem, jak się połączyć jako root, wiem jak aby dodać także innego użytkownika).

my.ini

# 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 

Kiedy zacznę mysqld widzę:

> 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 zawiera pewne polecenia znalazłem w How to reset root password i kilka innych, miałem nadzieję, że pomoże:

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 '[email protected]'; 

SHOW GRANTS FOR 'root'@'%'; 

FLUSH PRIVILEGES; 

ale nadal nie mogę się zalogować.

Aby zalogować Próbowałem:

>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)' 

w jakimś poradniku czytałem o mysqladmin polecenie, ale wymaga to zbyt hasło roota.

Próbowałem również puste hasło i mysql jako domyślne hasło i nic wokrd.

Próbowałem również --skip-grant-tables bez powodzenia.

Nie mam mysqld_safe w katalogu bin katalogu domowego MySQL, więc nie mogłem tego wypróbować.

Starałem się przeczytać wszystkie pytania tutaj związane z tym problem, ale nie mam pojęcia co mogę spróbować jeszcze ...

Jestem sfrustrowany, dlaczego nie jest tak proste, jak „pobierz & bieg ". Nie chcę pobierać instalatora Win, ponieważ nie chcę, aby usługi uruchamiane przy starcie systemu Windows i innych materiałach kopiowanych w moim systemie bez kontroli ...

+0

Jeśli jej świeży instalacja jak wspomniałeś, to co ci zabrania dodawania tymczasowe hasło, aby wykorzenić nawet jeśli nie chcesz na stałe jeden –

+0

Spróbuj 'mysql_secure_installation' od terminalu. – hjpotter92

+0

Muszę zapytać, za pomocą jakiego polecenia próbujesz się zalogować ;-)? – Najzero

Odpowiedz

4

Właśnie znalazłem, że muszę się połączyć podając -h i mój komputer nazwa od 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 

i

mysql -u root -h PC1234 --password=pass 

działa dobrze. Dzięki za pomoc. To dziwne, ale teraz działa.

edit:

miałem problemów połączyć się z tej konfiguracji. Rozwiązałem go, podając bind-address w moim.ini:

bind-address=localhost 
Powiązane problemy