- Login ke mysql dari terminal
# mysql -u root -p
- Memilih database
> USE MYSQL;
- Membuat user baru
> CREATE USER 'userbaru'@'localhost' IDENTIFIED BY 'password';
- Lihat nama user yang ingin diubah aksesnya
> SELECT USER,HOST FROM mysql.user;
- Update datanya menjadi yang diinginkan
> UPDATE USER SET HOST = '%' WHERE USER='user';
- Mengaktifkan perubahan
> FLUSH PRIVILEGES;
- Cek database sekarang atau user sekarang (yang sedang aktif)
> SELECT [ database() ]; [ user() ]
- Mengubah password user mysql
> SET PASSWORD FOR 'user'@'localhost' = PASSWORD('password');
- Tanda
%
memastikan bahwa user dapat mengakses database via remote (any ip address).
- Tanda
- Mengizinkan (grant) user untuk database tertentu
> GRANT ALL PRIVILEGES ON namaDatabase.* TO 'username'@'localhost';
- localhost bisa diganti dengan ip address atau % tergantung user tersebut akan mengakses database dari host mana.
- Untuk ‘ALL PRIVILEGES’ bisa diganti dengan opsi select, create, delete dsb.
- contoh sintaksnya
GRANT [type of permission] ON [database name].[table name] TO '[username]'@'localhost';
- Untuk melihat hasil privileges
> SHOW GRANTS FOR 'user'@'localhost';
- Export database (dump database)
# mysqldump -u (user) -p (nama_database) > namafile.sql
- Import database (.sql)
# mysql -u (username) -p (new_database) < namafile.sql
- Import database yang terkompres. File database yang terkompres biasanya dalam bentuk xxx.sql.gz, untuk mengimpornya gunakan perintah berikut
# zcat namadatabase.sql.gz | mysql -u root -p namaDatabase
- Melihat izin dari salah satu user mysql
> SHOW GRANTS; > SHOW GRANTS FOR CURRENT_USER; > SHOW GRANTS FOR CURRENT_USER(); > SHOW GRANTS FOR '[username]'@'localhost';
- Menghapus izin user dari database
> REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';
- Menghapus user dari database
> DROP USER '[username]'@'localhost';
- Menambah izin tertentu pada database
> CREATE USER 'user'@'%' IDENTIFIED BY 'password'; > CREATE DATABASE dbtes; > GRANT INSERT,SELECT ON dbtes.* TO 'user'@'%';
Mengganti password user mysql
Untuk mengganti password mysql dapat menggunakan perintah
> ALTER USER 'userName'@'nama-host' IDENTIFIED BY 'Password-Baru';
> UPDATE mysql.user SET Password=PASSWORD('Password-Baru') WHERE USER='userName' AND Host='nama-host';
> SET PASSWORD FOR 'userName'@'nama-host' = PASSWORD('Password-Baru');
Melihat password user root mysql
Untuk dapat melihat password root mysql dapat dilakukan dengan 2 cara yaitu pertama
# grep password /root/.my.cnf
atau..
# grep 'password' /var/log/mysqld.log
# cd ~
# ls -al
cat
Menambahkan maksimal koneksi di Mysql
Biasanya pada saat develop aplikasi terdapat error seperti iniSolusinya kita dapat menambahkan max_connections
menjadi contoh 200
pada file /etc/mysql/my.cnf
Melihat versi Mysql
Dari terminal
$ mysqld --version
# atau..
$ mysqladmin -V
# atau..
$ mysql -V
Dari mysql
> SHOW VARIABLES LIKE "%version%";
Troubleshoot Mysql
Pesan error
ERROR 1682 (HY000): Native table 'performance_schema'.'session_variables' has the wrong structure
Solusinya dengan restart service mysql.
Menambahkan Super Privileges
Menambahkan super privileges terhadap salah satu user.
> UPDATE mysql.user SET Super_Priv='Y' WHERE user='userA' AND host='%';