- 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 -alcatMenambahkan maksimal koneksi di Mysql
Biasanya pada saat develop aplikasi terdapat error seperti ini
max_connectionsmenjadi contoh 200 pada file /etc/mysql/my.cnf
Melihat versi Mysql
Dari terminal
$ mysqld --version
# atau..
$ mysqladmin -V
# atau..
$ mysql -VDari mysql
> SHOW VARIABLES LIKE "%version%";Troubleshoot Mysql
Pesan error
ERROR 1682 (HY000): Native table 'performance_schema'.'session_variables' has the wrong structureSolusinya 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='%';