天天看點

解決mysql資料庫建立使用者報錯Field 'ssl_cipher' doesn't have a default value

建立使用者報錯Field 'ssl_cipher' doesn't have a default value   

因為當時使用了這條語句直接插入使用者表  insert into user (Host,user,authentication) values('%','zc','123');   

提示ssl_cipher沒有預設值,可是又不知道ssl_cipher是個什麼字段,怎麼辦呢???

解決方法:

1.版本更新後改變了插入使用者表的語句, 應該用這個

create user 'zc'@'%' identified by '123';   //使用者名為zc ,'%'表示所有ip都可通路,'123'為密碼

2.再賦予權限

grant usage on *.* to 'zc'@'%' with grant option;

grant select,insert,update,delete,create,drop on *.* to 'zc'@'%' with grant option;        //給了zc賬号 所有資料庫中所有表的增删查改和建表删表的權限

flush privileges;    //釋放 

這是建立使用者後沒賦予權限出現的報錯:

mysql> select * from user \G;

ERROR 1142 (42000): SELECT command denied to user 'zc'@'localhost' for table 'user'

ERROR:

賦予權限之後就可以select了,賦權語句後面需要加上 with grant option