安裝mariadb,默認是無密碼的,但通常是指要設置密碼的。在設置密碼時出現各類問題,可能仍是不太明白其原理。 一下我嘗試了兩種方法,但都失敗了。下面這兩個是我嘗試的方法: 1、網上最多的方法是 一、輸入下面的指令 mysqladmin -u root -p password newpassword 可是我已輸入提示輸入密碼,我輸入密碼了但提示錯誤,見下 [root@localhost sakila]# mysqladmin -u root -p password newpasswd Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' 二、停掉數據庫服務 systemctl stop mariadb.service 三、對全部的表設置成無密碼登錄。 mysqld_safe --skip-grant-tables & 執行完這條語句提示一下錯誤 [root@localhost sakila]# mysqld_safe --skip-grant-tables & [1] 14275 [root@localhost sakila]# 150424 10:13:41 mysqld_safe Logging to '/var/log/mariadb/mariadb.l og'.150424 10:13:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 四、嘗試退出數據庫,而後重啓服務,再進入 [root@localhost sakila]# systemctl restart mariadb.service [root@localhost sakila]# mysqladmin -u root -p password 'passwd' Enter password: mysqladmin: You cannot use 'password' command as mysqld runs with grant tables disabled (was started with --skip-grant-tables). Use: "mysqladmin flush-privileges password '*'" instead 2、正確的操做 一、進到數據庫進行操做 [root@localhost etc]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 7 Server version: 5.5.41-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> mysql -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'mysql' at line 1MariaDB [(none)]> update user set password=password("123456")where user='root'; ERROR 1046 (3D000): No database selected 二、選擇數據庫 MariaDB [(none)]> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
修改密碼
UPDATE user SET authentication_string=PASSWORD('aaaAAA111') WHERE user='root';mysql
FLUSH PRIVILEGES;sql