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 databaseCác câu lệnh khác như INSERT INTO, SELECT, ALTER… cú pháp cũng giống như MS SQL
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
mysql> select userid, username from member;Một số lệnh liên quan tới quản lý User
mysql> insert into member (userid,username) values (1,'cloudserver');
mysql> delete from member;
Tạo User MySQL
mysql> grant usage on *.* to username@localhost identified by 'password';Bạn thay username và password mà mình muốn vào lệnh trên
mysql> flush privileges;
Gán quyền user truy cập database
mysql> grant all privileges on username.* to databasename@localhost ;Để 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
mysql> flush privileges;
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 mysqlLiệt kê variables trong 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
mysql> SHOW VARIABLES LIKE "general_log%"; # lấy đường dẫn lưu file log lệnh sqlThay đổ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 &
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