关于MySQL在使用过程中的问题

 

这两天刚刚接触了MySQL,在使用过程中遇到了问题,这里写出问题及解决办法,以后遇到问题再来添加,以备后用。

1.mysql增加新用户无法登陆解决方法

DBA:
创建一个新用户: create user hncu identified by '1234';
给用户授权: grant all on *.* to
'hncu'@'%' with grant option;
※※※※注意,创建新用户之后,要关闭并重启MySql服务器才会生效!

 

但使用用户登陆失败
root@controller:~# mysql -h localhost -ukeystone -ppassword
ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES)
解决方法
增加普通用户后,执行:
mysql> use mysql
mysql> delete from user where user='';
mysql> flush privileges;
意思是删除匿名用户。

2.修改sql用户密码:

 

1)mysqladmin命令

格式如下(其中,USER为用户名,PASSWORD为新密码):

mysqladmin -u USER -p password PASSWORD

该命令之后会提示输入原密码,输入正确后即可修改。
例如,设置root用户的密码为123456,则

mysqladmin -u root -p password 123456
2)UPDATE user 语句
这种方式必须是先用root帐户登入mysql,然后执行:
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
 FLUSH PRIVILEGES;
3)SET PASSWORD 语句
这种方式也需要先用root命令登入mysql,然后执行:
SET PASSWORD FOR root=PASSWORD('123456');
4)Root密码忘记
编辑MySql的配置文件:my.ini(在MySql安装目录下)。

打开配置文件,在文件最后一行添加:skip-grant-tables,然后保存退出。

意思为就是在启mysql时不启动grant-tables

  • 重启MySql服务:

       net stop mysql   

       net start mysql

  • 设置新的root密码。

    mysql -u root -p 直接回车,无需输入密码就可以进入数据库了。

    此时在命令行下执行 use mysql (切换到系统数据库)

    执行以下语句既可修改root用户密码:

    update user set password=PASSWORD("123456") where user='root';

  • 4

    还原配置文件,删除刚才在配置文件中添加的一行。然后重启mysql服务,就可以使用新设置的密码进行登录了。



◎在进行事务隔离级别练习的时候,我把一个客户端的隔离级别改了,然后对表进行增删改时,遇到1665错误,具体错误如下:
 
 
 
原因:innodb的事务隔离级别是read commited或者read uncommited模式时,binlog不可以使用statement模式。
 
解决方式:set global binlog_format=mixed         无需重启mysql服务,我是在cmd中执行的命令,cmd要重启

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值