centos7 設置mariadb密碼

安裝mariadb,默認是無密碼的,但通常是指要設置密碼的。在設置密碼時出現各類問題,可能仍是不太明白其原理。
一下我嘗試了兩種方法,但都失敗了。下面這兩個是我嘗試的方法:mysql

1、網上最多的方法是

一、輸入下面的指令

shellmysqladmin -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)'sql

二、停掉數據庫服務

systemctl stop mariadb.service

三、對全部的表設置成無密碼登錄。

mysqld_safe --skip-grant-tables &

執行完這條語句提示一下錯誤shell

[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 '*'" insteadui

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 Serverthis

Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.加密

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.rest

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 selectedcode

二、選擇數據庫

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 -Aorm

Database changed

三、用戶root添加密碼

MariaDB [mysql]> update user set password=password("123456")where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 4 Changed: 0 Warnings: 0

四、賦予權限

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

五、退出,從新登陸

MariaDB [mysql]> exit
Bye

六、嘗試無密碼是否能夠登陸

[root@localhost etc]# mysql

提示錯誤

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

七、輸入密碼登錄

[root@localhost etc]# mysql -u root -p123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
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)]>

相關文章
相關標籤/搜索