centos7设置mariadb密码

安装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)’

2、停掉数据库服务

systemctl stop mariadb.service 

3、对所有的表设置成无密码登陆。

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.log’.150424 10:13:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

4、尝试退出数据库,然后重启服务,再进入

[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

二、正确的操作

1、进到数据库进行操作

[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

2、选择数据库

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

3、用户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

4、赋予权限

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

5、退出,重新登录

MariaDB [mysql]> exit

Bye

6、尝试无密码是否可以登录

[root@localhost etc]# mysql

提示错误

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

7、输入密码登陆

[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)]>

转载自http://www.cnblogs.com/lxg0/articles/5598205.html

www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

西数超哥学习乐园,西数超哥基础运维经验教程分享的学习乐园,西数超哥博客,运维经验教程交流学习分享的博客

原创文章,作者:zhang sir,如若转载,请注明出处:https://www.ysidc.top/6341.html