Hướng dẫn trọng bộ mysql trong Kali Linux


1, Hướng dẫn tạo database và user mysql qua dòng lệnh

Nếu bạn chưa thực hiện cài đặt MySQL, Trước tiên hãy thực hiện cài đặt MySQL trước, sau đó
Login vào MySQL Shell bằng lệnh sau

mysql -u root -p

Nhập password để đăng nhập. Bây giờ bạn sẽ phải thực hiện 2 việc sau: 1 – tạo database và 2 – tạo user mới cho phép truy cập vào database vừa tạo. Lưu ý rằng mỗi câu lệnh MySQL bạn phải có dấu chấm phẩy ; kết thúc câu lệnh.

Tạo database, ở đây tôi ví dụ tạo database có tên là là wpdb

CREATE DATABASE wpdb;

Để tạo user, thực hiện lệnh sau

CREATE USER wpuser@localhost;

Đặt password cho user này như sau

SET PASSWORD FOR wpuser@localhost= PASSWORD("password");

Set quyền cho user truy cập vào db, để đơn giản bạn hãy gán toàn quyền cho user này (all privileges)

GRANT ALL PRIVILEGES ON wpdb.* TO wpuser@localhost IDENTIFIED BY 'password';

Refresh MySQL để reload lại quyền:

FLUSH PRIVILEGES;

Thoát khỏi trình lệnh MySQL shell:

exit

2, Hướng dẫn sử dụng mysql commandline

Đối với người sử dụng linux thì việc sử dụng MySQL commandline là thường xuyên, bài viết này sẽ hướng dẫn bạn làm quen với mysql commandline.

Đặt password cho user root của mysql

# mysqladmin -u root password newpassword

Đổi password cho user root

# mysqladmin -u root -p oldpassword newpassword

Kết nối MySQL từ commandline

$mysql -h localhost -u mysqlusername -p

Bấm enter và nhập password. Nếu kết nối thành công bạn sẽ thấy dòng nhắc $mysql>

- Nếu bạn muốn truy cập vào bằng địa chỉ IP, thay localhost bằng địa chỉ IP
- mysqlusername là tên account sẽ dùng để kết nối

Chú ý: tất cả các câu lệnh mysql trên commandline phải kết thúc bằng dấu ;

Một số lệnh thường dùng

mysql> show databases;           #Liệt kê danh sách các database
mysql> create database clouddb;  #Tạo database clouddb
mysql> use clouddb;              #Sử dụng database clouddb, mọi câu lệnh tiếp theo sẽ tác động lên database này
mysql> create table member (userid int(7), username text); #Tạo bảng member có 2 trường là userid và username
Các câu lệnh khác như INSERT INTO, SELECT, ALTER… cú pháp cũng giống như MS SQL

mysql> select userid, username from member;
mysql> insert into member (userid,username) values (1,'cloudserver');
mysql> delete from member;
Một số lệnh liên quan tới quản lý User

Tạo User MySQL

mysql> grant usage on *.* to username@localhost identified by 'password';
mysql> flush privileges;
Bạn thay username và password mà mình muốn vào lệnh trên

Gán quyền user truy cập database

mysql> grant all privileges on username.* to databasename@localhost ;
mysql> flush privileges;
Để máy khác có thể kết nối tới database thông qua user này, bạn cần thay localhost ở trên bằng địa chỉ IP của máy

Một số lệnh liên quan tới quản trị

Liệt kê số concurrent connection kết nối tới database, các query đang thực hiện…

mysql> SHOW STATUS WHERE `variable_name` like '%conn%';           # number connection to mysql  
mysql> show processlist;                                       # check connection concurrent
mysql> SHOW STATUS WHERE `variable_name` = 'Threads_connected';# check open connection
mysql> SHOW OPEN TABLES;                                       # display the lock status of all the tables in MySQL.
mysql> show processlist\G;                                     # list current query,
                                                               # chi hiển thị 100 kí tự đầu tiên của query
mysql> show full processlist;                                  # hiển thị full query
Liệt kê variables trong mysql

mysql> SHOW VARIABLES LIKE "general_log%";          # lấy đường dẫn lưu file log lệnh sql
Thay đổi giá trị variables trong mysql

mysql> SET VARIABLE_NAME = VALUE;                       # set giá trị cho biến VARIABLE_NAME
mysql> set global general_log=ON;                       # enable log all sql query, kiem tra lai
                                                        # bang lenh SHOW VARIABLES LIKE "general_log%";

3, Backup và restore database trong mysql

Dump toàn bộ database ra file .sql để backup

mysqldump -u root -dbpassword --opt >/tmp/alldatabases.sql

Dump một database ra file .sql để backup

mysqldump -u username -p --databases databasename >/tmp/databasename.sql

Dump một bảng trong database

mysqldump -c -u username -p databasename tablename > tmp/databasename.tablename.sql

Restore database từ file backup .sql

mysql -u username -p databasename < /tmp/databasename.sql

4, Cấu hình cho phép remote mysql

a. Mở file my.cnf, thêm bind-address=YOUR-SERVER-IP phía dưới mysqld

Chú ý dòng skip-networking phải được comment lại.


b. Vào mysql để gán quyền cho các IP có quyền remote.

#mysql -uroot -p[passwd]
#use mysql
#grant all on *.* to root@'%' identified by 'password';
#flush privileges;
#exit

* Chú ý:

– Nếu chỉ allow remote cho 1 database nào đấy thì thay *.* bằng dbname.* và root@’%’ bằng userofdb@’%’

– Nếu chỉ cho phép 1 IP nào đấy remote thì thay root@’%’ bằng root@’ip server’

c. Restart lại service mysql

#service mysqld restart

5, Reset mật khẩu mysql

Trong trường hợp bạn quên mật khẩu của MySQL, bạn có thể reset lại theo cách sau

Bước 1: Stop mysql

/etc/init.d/mysqld stop

Bước 2: Truy cập mysql safe mode

mysqld_safe --skip-grant-tables &amp;

Bước 3: Login vào Mysql (không cần password)

mysql -u root

Bước 4: Reset pass

use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
flush privileges;

Bước 5: quit và restart mysqld

quit
#/etc/init.d/mysqld start

Nguồn: Vir | Area3

0 nhận xét