Làm cách nào tôi có thể cài đặt myQuery trên CentOS mà không cần root / su?


2

Tôi muốn cài đặt mySQL trên CentOS.

Tôi không có tài khoản root trên máy đó.

Làm cách nào tôi có thể cài đặt myQuery trên CentOS với tư cách là người dùng . mà không được root?

Câu trả lời:


1

Đối với các gói RPM (và CentOS chắc chắn là một hệ thống RPM), bạn cần phải root để chạy trình cài đặt vòng / phút. Trình cài đặt RPM cần ghi vào một số dbs theo dõi gói và bạn cần phải root để ghi cho chúng. OK, tốt, mysql cho phép bạn cài đặt từ tarball, phải không? ( http://dev.mysql.com/doc/refman/5.0/en/binary-installation.html ). Vâng, vâng, nhưng có một cài đặt bài đăng mà bạn sẽ cần chạy, mà bạn sẽ cần phải root để làm.

RPM có thể có các bước cài đặt trước và sau khi cài đặt bên ngoài các tệp. chúng có thể thay đổi tập tin cấu hình, thêm / xóa người dùng. Nói chung bạn có thể cần phải root để làm những việc này. Ngay cả khi không có tập lệnh, bạn thường cài đặt vào các thư mục mà chỉ root mới có thể cài đặt.

Trong một bình luận khác, bạn đề cập đến các gói khác mà bạn đã cài đặt mà bạn không cần phải root. Đối với các gói này, tôi chắc chắn rằng:

  • Bạn đã cài đặt từ tarball, không phải RPM.
  • Bạn đã cài đặt vào một thư mục phi hệ thống
  • Mã không được gắn với bất kỳ thư mục cụ thể nào (một số mã được biên dịch cho các đường dẫn cụ thể)
  • Không cần cài đặt bài đăng (không có cấu hình hệ thống /etc, không có người dùng mới như MySQL cần)

5

CÀI ĐẶT MYSQL TRÊN TRUNG TÂM KHÔNG CÓ TÀI KHOẢN ROOT:

  1. Tải xuống MySQL Community Server 5.5.8 Linux - Lưu trữ TAR được nén chung-- [Lưu ý đây không phải là nguồn / nhị phân mà là Linux chung (gói không RPM)]
  2. Giải nén nó. Ví dụ:/home/martin/mysql
  3. Tạo my.cnftập tin trong thư mục nhà của bạn. Nội dung tập tin phải là:

    [server]
    user=martin
    basedir=/home/martin/mysql
    datadir=/home/martin/sql_data
    socket=/home/martin/socket
    port=3666
    
  4. Đi đến /home/martin/mysqlthư mục và thực hiện:

    ./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=/home/martin/mysql --datadir=/home/martin/sql_data --socket=/home/martin/socket
    

    Lưu ý rằng --defaults-filePHẢI là tham số đầu tiên, nếu không nó sẽ không hoạt động! Đó là một lỗi của MySQL.

  5. Máy chủ MySQL của bạn đã sẵn sàng. Bắt đầu với lệnh này:

    ./bin/mysqld_safe --defaults-file=~/my.cnf &
    

    Kết nối với máy chủ:

    mysql -h 127.0.0.1 -P 3666 -u root -p (using tcp)
    

    hoặc là

    mysql --socket=/home/martin/socket -u root -p (using unix socket)
    

    Tắt máy chủ:

    mysqladmin -h 127.0.0.1 -P 3666 -u root shutdown(using tcp)
    

    hoặc là

    mysqladmin --socket=/home/martin/socket -u root shutdown (using unix socket)
    

@gareth Sau bước 5 khi tôi cố gắng kết nối với máy chủ, nó báo lệnh mys mys tìm thấy. bạn có thể vui lòng cho tôi biết tại sao nó như thế này Tôi làm theo các bước chính xác.
vinay

Xin chào @vinay - Tôi đã chỉnh sửa câu trả lời này nhưng không phải là tác giả gốc. @martin bạn có thể giúp gì không?
Gaff

0

Bạn có thể xây dựng nó và chạy nó từ thư mục chính của bạn nếu bạn có sẵn một trình biên dịch, nhưng để cài đặt phần mềm trên linux, bạn sẽ yêu cầu quyền truy cập root.


Nhưng tôi thực sự đã cài đặt rất nhiều phần mềm khác (javac, R) trên CentOS mà không có quyền truy cập root?!

0

Câu trả lời của Martin đã làm việc cho tôi. Để giải quyết các bình luận (Tôi không thể bình luận do quyền ở đây):

Để kết nối với máy chủ, bạn cần thêm thư mục / home / martin / mysql / bin (/ home / martin / mysql / bin trong ví dụ) vào đường dẫn của bạn hoặc sử dụng tên đường dẫn đầy đủ để chạy nó:

/home/martin/mysql/bin/mysql --socket=/home/martin/socket -u root -p

Phần còn thiếu khác là thiết lập mật khẩu gốc. Sau khi thực hiện bước bin / mysqld_safe (xem bước 5 trong phản hồi của Martin), MySql đã cho tôi biết cách đặt mật khẩu gốc. Bạn cần thực hiện bước đó, nhưng thêm tùy chọn --socket = / home / martin / socket vào dòng lệnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.