Linux下修改Mysql的用(root的密码及修改root登录权限
修改的用户都以root为列。
一、知道原来的myql数据库的root密码;
①: 在终端命令行输入 mysqladmin -u root -p password “新密码” 回车 ,Enter password: 【输入原来的旧密码】
②: 登录mysql系统修改, mysql -uroot -p 回车 Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=password(“新密码”) where user=‘root’; 【密码注意大小写】
mysql> flush privileges;
mysql> exit;
service mysqld/mysql status
service mysqld/mysql restart/start
然后使用刚才输入的新密码即可登录。
二、不知道原来的myql的root的密码;
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。 类似于安全模式登录系统。
需要先停止mysql服务,这里分两种情况,一种可以用service mysqld stop,
另外一种是/etc/init.d/mysqld stop
当提示mysql已停止后进行下一步操作 Shutting down MySQL. SUCCESS!
在终端命令行输入
mysqld_safe --skip-grant-tables & 【登录mysql系统】
输入mysql登录mysql系统
mysql> use mysql;
mysql> UPDATE user SET password=password(“新密码”) WHERE user=‘root’; 【密码注意大小写】
mysql> flush privileges;
mysql> exit;
重新启动mysql服务
这样新的root密码就设置成功了。
三、修改root登录权限
当你修改好root密码后,很有可能出现这种情况
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
这是因为root登录权限不足,具体修改方法如下
需要先停止mysql服务,这里分两种情况,一种可以用service mysqld stop,
另外一种是/etc/init.d/mysqld stop
当提示mysql已停止后进行下一步操作 Shutting down MySQL. SUCCESS!
在终端命令行输入
mysqld_safe --skip-grant-tables & 【登录mysql系统】
输入mysql登录mysql系统
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
mysql> flush privileges;
mysql> exit;
service mysqld/mysql status
service mysqld/mysql restart/start
然后重新启动mysql服务就可以了。
第一句:以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
如果这步出错"ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’" 由说明该记录有了,跳过这步
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
MariaDB设置初始化密码及修改密码
方法1:
[root@localhost ~]# mysql
MariaDB[(none)]> UPDATE mysql.user SET password = PASSWORD(‘newpassword’) WHERE USER = ‘root’;
MariaDB[(none)]> FLUSH PRIVILEGES;
方法2:
[root@localhost ~]# mysql
MariaDB[(none)]> SET password=PASSWORD(‘newpassward’);
方法3:
[root@localhost ~]# mysqladmin -u root password ‘newpassword’
如果root已经设置过密码,采用如下方法
[root@localhost ~]#mysqladmin -u root -p ‘oldpassword’ password ‘newpassword’