HƯỚNG DẪN Cài đặt MySQL trên CentOS 7

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 9/11/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    MySQL là một hệ thống quản lý cơ sở dữ liệu phổ biến được dùng cho các trang web và các ứng dụng máy chủ. Tuy nhiên, MySQL không còn trong kho CentOS 7 và MariaDB đã trở thành hệ thống cơ sở dữ liệu mặc định cung cấp. MariaDB được coi là một sự thay thế drop-in cho MySQL.
    Nếu bạn vẫn thích MySQL, hướng dẫn này sẽ giới thiệu cách cài đặt, cấu hình và quản lý nó trên một máy chủ chạy CentOS 7.

    Trước khi bắt đầu
    Kiểm tra hostname bằng câu lệnh sau:
    Mã:
    hostname
    hostname -f
    
    Cập nhật hệ thống của bạn:
    Mã:
    yum update
    Cài đặt MySQL
    MySQL phải được cài đặt từ kho lưu trữ .
    Tải về và thêm kho lưu trữ, sau đó cập nhật.
    Mã:
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    
    Cài đặt MySQL như bình thường và bắt đầu dịch vụ.
    Mã:
    yum install mysql-server
    systemctl start mysqld
    
    MySQL sẽ bind với localhost (127.0.0.1) theo mặc định.

    Chú ý: Cho phép truy cập không giới hạn đến MySQL trên một IP public không được khuyến khích nhưng bạn có thể thay đổi địa chỉ nó lắng nghe trên bằng cách thay đổi các tham số bind-address trong /etc/my.cnf. Nếu bạn quyết định để bind MySQL đến IP public của bạn, bạn nên thực hiện các quy tắc tường lửa mà chỉ cho phép các kết nối từ các địa chỉ IP cụ thể.

    Harden MySQL Server
    Chạy script mysql_secure_installation để giải quyết một số vấn đề bảo mật trong một cài đặt MySQL mặc định.
    Mã:
    mysql_secure_installation
    Bạn sẽ được cung cấp các lựa chọn để thay đổi mật khẩu root MySQL, loại bỏ tài khoản người dùng ẩn danh, vô hiệu hóa đăng nhập root bên ngoài của localhost, và loại bỏ các cơ sở dữ liệu thử nghiệm. Chúng tôi đề nghị bạn trả lời có (yes) cho những tùy chọn. Bạn có thể đọc thêm về các kịch bản trong trong MySQL Reference Manual.

    Sử dụng MySQL
    Công cụ tiêu chuẩn để tương tác với MySQL là mysql client đã được cài đặt đồng thời với gói mysql-server. Các MySQL client được sử dụng thông qua một cửa sổ terminal:

    Root Login
    Để đăng nhập vào MySQL như là user root:
    Mã:
    mysql -u root -p
    Khi được nhắc, nhập mật khẩu root bạn chỉ định khi chạy script mysql_secure_installation.
    Sau đó bạn sẽ được trình bày với một tiêu đề chào đón và cửa sổ MySQL như sau:
    Mã:
     mysql>
    Để tạo ra một danh sách các lệnh cho cửa sổ MySQL, nhập \h. Sau đó bạn sẽ thấy:
    Mã:
    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) Synonym for `help'.
    clear     (\c) Clear command.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
    edit      (\e) Edit command with $EDITOR.
    ego       (\G) Send command to mysql server, display result vertically.
    exit      (\q) Exit mysql. Same as quit.
    go        (\g) Send command to mysql server.
    help      (\h) Display this help.
    nopager   (\n) Disable pager, print to stdout.
    notee     (\t) Don't write into outfile.
    pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print     (\p) Print current command.
    prompt    (\R) Change your mysql prompt.
    quit      (\q) Quit mysql.
    rehash    (\#) Rebuild completion hash.
    source    (\.) Execute an SQL script file. Takes a file name as an argument.
    status    (\s) Get status information from the server.
    system    (\!) Execute a system shell command.
    tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (\u) Use another database. Takes database name as argument.
    charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings  (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    
    For server side help, type 'help contents'
    
    mysql>
    
    Tạo một user MySQL và cơ sở dữ liệu (database)
    Trong ví dụ dưới đây, TestDB là tên của cơ sở dữ liệu, testuser là tên của user và pasword là mật khẩu của user.

    Mã:
    create database testdb;
    create user 'testuser'@'localhost' identified by 'password';
    grant all on testdb.* to 'testuser' identified by 'password';
    
    Bạn có thể rút ngắn quá trình này bằng cách tạo ra user đồng thời thực hiện việc chỉ định quyền cho user đối với cơ sở dữ liệu:
    Mã:
    create database testdb;
    grant all on testdb.* to 'testuser' identified by 'password';
    
    Sau đó thoát khỏi MySQL.
    Mã:
    exit


    Tạo một table thử nghiệm

    Đăng nhập lại như testuser.
    Mã:
     mysql -u testuser -p
    Tạo một table thử nghiệm tên là customers.
    Mã:
    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
    Câu lệnh trên sẽ thực hiện việc tạo ra một table với một trường customer_id với giá trị sử dụng kiểu dữ liệu INT (tự động tăng cho các record mới, được sử dụng làm khóa chính), đồng thời tạo ra hai trường dùng để lưu trữ tên của khách hàng.

    Sau đó thoát khỏi MySQL.
    Mã:
    exit


    Đặt lại mật khẩu root MySQL

    Nếu bạn quên mật khẩu root MySQL của bạn, nó có thể được đặt lại.
    Dừng máy chủ MySQL hiện tại, sau đó khởi động lại nó với một lựa chọn để không yêu cầu mật khẩu.
    Mã:
    systemctl stop mysqld
    mysqld_safe --skip-grant-tables &
    
    Kết nối đến máy chủ MySQLvới tài khoản root MySQL.
    Mã:
    mysql -u root
    
    Sử dụng các lệnh sau để thiết lập lại mật khẩu root.
    Mã:
    use mysql;
    update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
    flush privileges;
    exit
    
    Sau đó khởi động lại MySQL.
    Mã:
    systemctl start mysqld


    Tune MySQL

    MySQLTuner là một script Perl để kết nối với một tiến trình chạy của MySQL và cung cấp các khuyến nghị cấu hình. Lý tưởng nhất, tiến trình MySQL nên được hoạt động ít nhất 24 giờ trước khi chạy tuner.

    Tải về MySQLTuner:
    Mã:
     wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    Để chạy nó:
    Mã:
     perl ./mysqltuner.pl
    Bạn sẽ được hỏi tên và mật khẩu user root của MySQL. Các đầu ra sẽ hiển thị hai trường: General recommendations và Variables to adjust.

    MySQL Tuner là một điểm khởi đầu tuyệt vời để tối ưu hóa một máy chủ MySQL nhưng bạn sẽ phải thận trọng khi cấu hình theo nó vì nếu mắc phải sai xót thì hệ thống của bạn có thể bị lổi.
    Bạn có thể tìm hiểu thêm MySQL Tunner qua bài viết này.
     

Chia sẻ trang này

Đang tải...