mysql 5.6 dường như có một tùy chọn --random-password mới cho mysql_install_db, cho phép tôi khám phá mật khẩu gốc: http://dev.mysql.com/doc/refman/5.6/en/mysql-install-db.html# tùy chọn_mysql_install_db_random-mật khẩu
Nhưng tôi có thể làm gì với mysql 5.5? Tài liệu cho thấy mật khẩu gốc nên trống, nhưng dường như tôi không thể kết nối mà không có mật khẩu (hoặc mật khẩu trống), vì vậy tôi không thể đặt mật khẩu gốc thực sự:
Ví dụ:
Tôi khởi tạo cơ sở dữ liệu như vậy:
$ mysql_install_db --no-defaults --user=murrayc --datadir=/tmp/testmysql/data
Tôi khởi động máy chủ như vậy:
$ mysqld_safe --no-defaults --user=murrayc --port=3308 --datadir='/tmp/testmysql/data' --socket='/tmp/testmysql/mysqld.sock' --pid-file='/tmp/testmysql/pid'
Nhưng khi tôi cố gắng đặt mật khẩu gốc như vậy (tôi tin rằng - người dùng trong trường hợp này đề cập đến người dùng mysql chứ không phải người dùng linux):
$ mysqladmin --no-defaults --port=3308 --user=root --password='' password 'somenewpassword'
Tôi nhận được lỗi này:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
10:41:12 ~$ mysql -uroot --port=3311 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Các lệnh như "khởi động lại dịch vụ mysql" dành cho quy trình mysql thông thường của hệ thống. Tôi đang khởi tạo một cơ sở dữ liệu riêng biệt và bắt đầu một cá thể mysqld riêng biệt.