2011-11-05 7 views
33

Tôi đang cố gắng để kết nối với DB của tôi trong Ubuntu từ xa trước nhưng tôi nhận được thông báo lỗi khi cố gắng mysql -u root -p:MySQL my.cnf tập tin - Tùy chọn Tìm thấy mà không nhóm

Tìm thấy tùy chọn mà không trước nhóm trong tập tin cấu hình : /etc/mysql/my.cnf tại dòng: 1

my.cnf trông giống như:

[mysqld] 
user  = mysql 
socket  = /var/run/mysqld/mysqld.sock 
port  = 3306 
basedir  = /usr 
datadir  = /var/lib/mysql 
tmpdir  = /tmp 
bind-address  = 0.0.0.0 
key_buffer  = 16M 
max_allowed_packet = 16M 
thread_stack  = 192K 
thread_cache_size  = 8 
myisam-recover   = BACKUP 
query_cache_limit = 1M 
query_cache_size  = 16M 
log_error    = /var/log/mysql/error.log 
expire_logs_days = 10 
max_binlog_size   = 100M 

[client] 
port  = 3306 
socket  = /var/run/mysqld/mysqld.sock 

[mysqld_safe] 
socket  = /var/run/mysqld/mysqld.sock 
nice  = 0 

[mysqldump] 
quick 
quote-names 
max_allowed_packet = 16M 

[mysql] 

[isamchk] 
key_buffer  = 16M 
+1

Điều này có vẻ khác với my.cnf mặc định được cài đặt với mysql trên Ubuntu. Bạn đã thử bắt đầu từ tệp mặc định và dần dần thêm các tùy chỉnh của mình chưa? –

+0

Tôi vừa xóa nhận xét và di chuyển xung quanh mã – Afra

+0

Tôi nghĩ rằng tệp mặc định trông hơi khác một chút. – Emma

Trả lời

21

Kiểm tra bảng mã ký tự của tập tin, hãy chắc chắn rằng nó nằm trong ASCII. Sử dụng lệnh 'od' để xem liệu có một UTF-8 BOM ở đầu, ví dụ.

+4

Lol ............ -.- – Afra

+17

Lưu ý bổ sung: Thiếu [mysqld] cũng gây ra lỗi. – chanux

+0

@chanux Đó là vấn đề của tôi, ngay cả khi các biến tôi đã thêm có phạm vi toàn cầu. Cảm ơn! – Purefan

10

đó là vì các chữ cái hoặc chữ số trước mặt [mysqld] chỉ cần kiểm tra các leeters hoặc chữ số bất cứ điều gì không được yêu cầu trước khi [mysqld]

nó có thể là một cái gì đó giống như

0 [mysqld] sau đó lỗi này sẽ xảy ra

+2

có một ký tự ngẫu nhiên + trong tệp cấu hình. Cảm ơn! –

+0

Đối với tôi nó đã kết thúc là một bình luận ở đầu của tập tin mà không có một # trước khi nó để bắt đầu các thủ tục bình luận! – Kzqai

+0

@Kzqai có vẻ như đó là vấn đề cuối cùng của tôi. Cảm ơn! –

27

Chỉ cần thêm [mysqld] như dòng đầu tiên của tập tin /etc/mysql/my.cnf bạn

Và sau đó

sudo mysqld dừng sudo mysqld bắt đầu

+0

My.cnf của anh ấy đã có [mysqld] ... câu trả lời của bạn rất hữu ích cho những người không có dòng đó. – drochora