MySQL是最流行的开源数据库之一,我们在本地操作MySQL时,经常会因为不小心忘记了root帐号的密码,或者其他的原因,而导致无法正常连接数据库。另外,在局域网环境内,如何授权其他的服务器或主机连接我们的数据库服务器,也是我们经常会遇到的问题,针对上述这两个问题,本文整理了一下解决方法,以便大家需要时查看。
修改root帐号密码
如果忘记了root帐号的密码,可以编辑my.cnf文件,添加skip-grant-tables这一行,这样就可以通过root帐号而不使用密码直接连接数据库,连接成功后,可以修改root帐号的密码。具体过程看以下步骤:
1、配置无密码连接数据库
编辑my.cnf文件
1 | vim /www/server/mysql/my.cnf |
找到[mysqld],在它的后面任意下一行添加如下代码
1 | skip-grant-tables |
:wq保存退出
然后重启mysql,命令如下:
1 | /etc/init.d/mysqld restart |
2、修改root的密码
在命令窗口输入mysql
在mysql数据库有一个user表,存储的是数据库用户的信息,我们需要修改的里面用户的密码;
show databases;
命令依次为:
1 2 3 | use mysql; update user set password=password("123456") where user="root"; flush privileges; |
这样,root账户就已经重置成新的密码了
3、还原my.cnf
编辑my.cnf,去掉刚才添加的内容
:wq保存退出
然后重启MySQL
2 查看权限
使用如下命令:
1 | select user,host,password from user; |
查询结果如下:
3. 授权
授权局域网其他机器使用帐号root和密码123456访问本数据库。
1 2 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; |
如果要指定某台机器访问,可以将上面的%改成对应的内网ip地址。
本文已通过「原本」原创作品认证,未经作者授权请勿直接转载,负责将依法追究其法律责任。
如果认为本文对您有所帮助请赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏