您的位置:首页 > 运维架构 > Linux

CentOS MySQL 使用Insert 添加用户 注意事项

2013-11-15 17:18 561 查看
实际上 使用insert可能出现 Field 'ssl_cipher' doesn't have a default value 不建议使用

只是今天使用了一次 把遇到的错误记录下来

创建用户:

mysql> insert into mysql.user( Host, User, Password ) values ( 'localhost', 'boss', password('boss') );

这样就创建了一个用户名密码都为BOSS的用户

如果遇到 Field 'ssl_cipher' doesn't have a default value

可以用 以下语句指定ssl_cipher

mysql> insert into mysql.user( Host, User, Password, ssl_cipher,
x509_issuer, x509_subject) values ( 'localhost', 'boss', password('boss'),
' ', ' ', ' ' );

创建用户需要的数据库:

mysql> create database db1;

授权BOSS用户 db1数据库的所有权限:

mysql> grant all privileges on db1.* to boss@'localhost' identified
by 'boss';

刷新系统权限表:

mysql>flush privileges;

开启远程访问权限:

insert into mysql.user(Host,User,Password) values(
'%','boss',password('boss'));

重点是那个%,当然%也可以替换为具体IP

千万不要 UPDATE
user SET Host='%' WHERE User='boss'
AND Host='localhost' LIMIT1;

这样会刷掉原有记录而无法从本地登录

(错误信息 Access denied for user 'root'@'localhost' (using password: YES) )

update 过后虽然你的访问权限是%

看似是可以从任何主机访问

但是确无无法使用mysql -u boss -pboss登录,不加 -h 参数默认是localhost(很奇怪)

至于mysql -u boss -pboss -h127.0.0.1没有测试过,有兴趣的朋友可以测试一下.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: