Bagaimana menghubungkan dan membuat database di MySQL?


17

Saya ingin menginstal MySQL dan membuat database menggunakan kode berikut:

sudo apt-get install mysql-server
mysqladmin -h localhost -u {username} -p create lrs

Saya mendapatkan pesan berikut setelah menjalankan baris kedua:

    Enter password:
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user '{username}'@'localhost' (using password: YES)'

Apa masalahnya?


1
Jika Anda benar-benar menggunakan 2 perintah ini di mana Anda memberi PRIVILIGES untuk {username} (jika bukan admin / root) untuk dapat mengakses database?
Rinzwind

Jawaban:


26

Setelah menginstal MySQL, Anda perlu mengatur kata sandi root mysql . Untuk melakukannya:

  1. Masukkan perintah selanjutnya di terminal:

    mysql -u root

  2. Sekarang ia harus membuka konsol mysql . Dan ketikkan baris berikut:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

Untuk keluar dari konsol mysql masuk exit.

Sekarang Anda harus membuat database dengan pengguna root . Untuk melakukannya:

  1. Buka mysql dari terminal:

    mysql -u root -p

  2. Masukkan kata sandi yang dibuat sebelumnya.

  3. Masukkan baris berikut:

    CREATE DATABASE yourdatabasename;

Jika Anda masuk, SHOW DATABASES;Anda harus melihatnya dalam daftar. Jika demikian, Anda memiliki basis data yang siap digunakan!


mysql -u rootmemberi sayaERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Nicolas Raoul

Kesalahan itu berarti Anda sudah memiliki rootpengguna dan memiliki kata sandi. Jika Anda lupa rootkata sandi, baca dokumentasi MySQL .
Lucio

1

Anda harus terhubung ke MySQL menggunakan pengguna root dan kata sandi yang terkait. Jika Anda perlu mengaturnya, gunakan perintah berikut:sudo mysqladmin -u root -h localhost password 'mypassword'

Dari sana, Anda dapat mengonfigurasi akun tambahan dengan mengikuti dokumen ini: Cara Membuat Pengguna Baru dan Memberikan Izin di MySQL


1
Saya menyalin sudo mysqladmin -u root -h localhost password 'mypassword'dan menempelkannya ke terminal saya dan saya menerima pesan itu Access denied for user 'root'@'localhost' (using password: NO).
user543489

@Bert Kode ini tidak akan berfungsi. Itu password 'mypassword'salah, seharusnya-password 'mypassword'
Lucio

haruskah sesuatu diganti dengan 'mypassword'?
user543489

Saya dieksekusi sudo mysqladmin -u root -h localhost -password 'mypassword', tapi saya mengerti Access denied for user 'root'@'localhost' (using password: YES).
user543489

@ user543489 Apa yang terjadi jika Anda masuk mysql -u root?
Lucio

1

Ini aneh karena sejak 12,04 (menebak Anda menjalankan Kubuntu 12,04), MySQL telah default. Sepertinya Anda melewatkan beberapa langkah di antaranya, jadi mari kita simak ini:

Pertama, seperti yang Anda sebutkan, mari kita lakukan instalasi,

sudo apt-get install mysql-server

Setelah Anda menginstalnya, mari kita coba tes kecil,

sudo netstat -tap | grep mysql

Ketika Anda menjalankan ini, Anda akan melihat balasan ini,

tcp        0      0 localhost:mysql         *:*                LISTEN      2556/mysqld

Jika ini tidak berjalan dengan benar, jalankan perintah restart ini,

sudo service mysql restart

Sekarang untuk mengkonfigurasi server.

Mari kita pergi ke /etc/mysql/my.cnfuntuk mengkonfigurasi pengaturan dasar. Ini termasuk File Log, Nomor Port, Dll. Misalnya, untuk mengonfigurasi MySQL untuk mendengarkan koneksi dari host jaringan, ubah arahan alamat-bind ke alamat IP server:

bind-address            = 192.168.0.5

Setelah ini, restart daemon MySQL,

sudo service mysql restart

Jika Anda ingin mengubah kata sandi root MySQL, jalankan ini:

sudo dpkg-reconfigure mysql-server-5.5

Daemon akan dihentikan dan Anda akan dimintai kata sandi baru.

Setelah selesai, Anda harus dikonfigurasikan dan beberapa pencarian google akan mengajarkan Anda cara membuat database

Sumber: The Ubuntu Server Guide


0

Jalankan perintah ini:

sudo dpkg-reconfigure mysql-server-5.5

(5.5 adalah nomor versi, beradaptasi jika Anda memiliki versi yang berbeda)

Ini akan memungkinkan Anda untuk mengatur kata sandi root MySQL Anda, yang kemudian dapat Anda gunakan dengan mysqladmindan mysqlperintah.


-1

Setelah menginstal MySQL, Anda perlu mengatur kata sandi root mysql. Untuk melakukannya:

Enter the next command in a terminal:

mysql -u root -p

Enter Password: (Enter your password here).

Ini tidak berkontribusi apa pun yang belum dikatakan dalam jawaban yang diterima.
guntbert

-1

Saya tahu ini berusia 3 tahun tetapi saya juga memiliki masalah ini dan ingin memposting jawaban saya jika ada orang lain yang melakukan pencarian yang sama dengan yang saya lakukan.

mysqladmin: connect to server at 'localhost' failed

Ini menunjukkan bahwa pengguna Anda tidak memiliki izin untuk terhubung ke database itu sendiri, bahkan sebelum masuk ke dalam; bukan pengguna basis data, pengguna linux Anda yang sebenarnya. Jalankan semuanya sebagai pengguna super: sudo mysql -u root -p

Hanya root (pengguna linux, atau pengguna dengan hak akses sudo) yang dapat masuk ke mysql sebagai root (pengguna basis data). Saya tidak dapat menemukan tempat untuk mendokumentasikan hal ini tetapi percobaan membuktikan bahwa itulah masalahnya. Anda dapat membuat pengguna baru dengan semua hak yang sama dengan pengguna root dan itu tidak akan dibatasi.

sudo mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Sekarang "pengguna baru" (atau nama apa pun yang Anda pilih) dapat masuk sebagai tanpa perlu sudo dan Anda dapat menggunakannya untuk semua kebutuhan administrasi database Anda.


1
Menggunakan kata probablydalam jawaban di sini disukai.
WinEunuuchs2Unix

Yah saya tentu tidak bisa mengatakan bahwa itu tanpa mengujinya, sekarang bisakah saya?
WizardStan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.