1.MySQL用户授权步骤:

select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;
create user 'liuliang'@'10.161.74.190' identified by '!@bbdx1230.0.';set password for 'yuelu_channels'@'10.46.209.207'=password('@#$%^yuelu0922&');GRANT ALL PRIVILEGES ON *.* TO 'yuelu_channels'@'10.46.209.207';flush privileges;

1.Centos7.2与MySQL5.7新建用户和数据库并授权:

#CREATE USER liuliang@139.129.18.65 IDENTIFIED BY 'zlxtqbd062350';#GRANT ALL PRIVILEGES ON *.* TO 'liuliang'@'139.129.18.65';
(1).mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'pwd';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'(2).mysql> create user 'root'@'%' identified by 'pwd';
Query OK, 0 rows affected (0.00 sec)(3).mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)(4).mysql> show grants for current_user();
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)如果使用 ALTER USER 'root'@'%' IDENTIFIED WITH sha256_password BY 'pwd';
指定加密方式则可能在客户端连接时有问题:
注意2:ERROR 2059 (HY000): Authentication plugin 'sha256_password' cannot be loaded:
No such file or directory
注意事项:
(1).update user set plugin='mysql_native_password' where user='root' and host='localhost';
(2).update mysql.user set password=PASSWORD("pwd") where User='root';
注意3:ERROR 1054 (42S22): Unknown column 'password' in 'field list'
update mysql.user set authentication_string=password("pwd") where user='root';
注意4:'PASSWORD' is deprecated and will be removed in a future release.
password 即将被废弃,官方不建议用继续使用了,建议使用第1点中的 ALTER USER 语法去管理用户属性。Access denied for user 'root'@'IP地址' ,是因为相应的主机没有对应的访问权限--开放权限如下
use mysql;
update user u set u.host = '%' where u.user = 'root' limit 1;
flush privileges;--查看用户权限
show grants for current_user();--mysql不推荐通过修改表的方式修改用户密码
INSERT or UPDATE statements for the mysql.user table that refer to literal passwords are logged as is,so you should avoid such statements
--通过客户端sql修改
MariaDB [mysql]> UPDATE user SET Password = password('123456') WHERE User = 'root' ;
--此时可在binglog中可以看到明文的密码
[root@rudy_01 3306]# mysqlbinlog binlog.000006 --start-position=4224 >/tmp/test.sql
[root@rudy_01 3306]# cat /tmp/test.sql
SET @@session.collation_database=DEFAULT/*!*/;
UPDATE user SET Password = password('123456') WHERE User = 'root'--在 mysql 5.7 中 password 字段已经不存在了
mysql> UPDATE user SET Password = password('123456') WHERE User = 'root' ;
ERROR 1054 (42S22): Unknown column 'Password' in 'field list'mysql> desc user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |--注意出于安全考虑,alter user 时提示更新的是 0 条数据,但实际 password 已更新
mysql> select host,user,authentication_string,password_last_changed from user where user='root' and host='%';
+------+------+-------------------------------------------+-----------------------+
| host | user | authentication_string | password_last_changed |
+------+------+-------------------------------------------+-----------------------+
| % | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | 2016-01-08 15:38:13 |
+------+------+-------------------------------------------+-----------------------+
1 row in set (0.04 sec)--提示更新0条,使用此方法不需要再 flush privileges
If you modify the grant tables indirectly using account-management statements such as GRANT, REVOKE,SET PASSWORD, or RENAME USER,
the server notices these changes and loads the grant tables into memory again immediately.
mysql> alter user 'root'@'%' identified by '12345678';
Query OK, 0 rows affected (0.00 sec)
--实际已更新
mysql> select host,user,authentication_string,password_last_changed from user where user='root' and host='%';
+------+------+-------------------------------------------+-----------------------+
| host | user | authentication_string | password_last_changed |
+------+------+-------------------------------------------+-----------------------+
| % | root | *84AAC12F54AB666ECFC2A83C676908C8BBC381B1 | 2016-01-08 15:53:09 |
+------+------+-------------------------------------------+-----------------------+
1 row in set (0.00 sec)--在binlog中查出的sql如下
[root@rudy mysql]# cat /tmp/test.sql
SET @@session.collation_database=DEFAULT/*!*/;
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'--mysql对于密码有3种检验策略,默认validate_password_policy为MEDIUM
? LOW policy tests password length only. Passwords must be at least 8 characters long.
? MEDIUM policy adds the conditions that passwords must contain at least 1 numeric character, 1 lowercase and uppercase character, and 1 special (nonalphanumeric) character.
? STRONG policy adds the condition that password substrings of length 4 or longer must not match words--注意validate_password默认是没有安装的
If the validate_password plugin is not installed, the validate_password_xxx system variables are not available,
passwords in statements are not checked, and VALIDATE_PASSWORD_STRENGTH() always returns 0.--检验密码复杂度
mysql> select VALIDATE_PASSWORD_STRENGTH('abc1235jeme');
+-------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('abc1235jeme') |
+-------------------------------------------+
| 0 |
+-------------------------------------------+
1 row in set (0.00 sec)
--查找安装的插件,发现找不到validate_password
mysql> show plugins;
--手动安装
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';
mysql> show plugins;
+----------------------------+----------+--------------------+----------------------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+--------------------+----------------------+---------+
| validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL |
+----------------------------+----------+--------------------+----------------------+---------+
45 rows in set (0.04 sec)
--再次检验密码复杂度
mysql> select VALIDATE_PASSWORD_STRENGTH('abc1235jeme');
+-------------------------------------------+
| VALIDATE_PASSWORD_STRENGTH('abc1235jeme') |
+-------------------------------------------+
| 50 |
+-------------------------------------------+--安装validate_password插件后,就必需符合validate_password_policy的要求,否则语句执行出错
mysql> alter user 'root'@'%' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
2、主从复制遇到的权限及异常问题1、主从均需重启mysql服务
/etc/init.d/mysqld restart
或者:
sudo service mysqld restart2、主配置:增加从机复制账户并授权,以便从机远程登录过来复制 binlog
create user 'replicationUsername'@'%' identified by 'Passwd';
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'name'@'%' WITH GRANT OPTION;
show master status;3、从配置:
stop slave;
CHANGE MASTER TO
MASTER_HOST='110.126.103.126',
MASTER_USER='replicationUsername',
MASTER_PASSWORD='Passwd',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154,
MASTER_CONNECT_RETRY=10;
start slave;
show slave status\G4、Slave_SQL_Running: No
1.程序可能在slave上进行了写操作
2.也可能是slave机器重起后,事务回滚造成的.
3.也可能遇到各种SQL错误导致 SQL 线程中断退出。
解决方法:
stop slave;
set global sql_slave_skip_counter = 1 ;
start slave;
之后Slave会和Master去同步 主要看:
从机:show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master是否为0,0就是已经同步了
主机:show processlist\G
如果出现Command: Binlog Dump,则说明配置成功.5、测试:
create database db_test_slave;
use db_test_slave;
create table tb_test(id int(3), name varchar(50));
insert into tb_test values(1,'hello slave');
show databases;6、slave 从零开始同步 master 所有数据库:
(1)master操作:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;candidates=$(echo "show databases" | mysql -uroot -pPASSWD| grep -Ev "^(Database|sys|mysql|performance_schema|information_schema)$")
mysqldump -uroot -pPASSWD --databases ${candidates} --single-transaction > mysqldump.sql
UNLOCK TABLES;(2)slave操作:
nc -l 12345 < <(cat mysqldump.sql) ##主
nc -n 10.48.186.32 12345 > mysqldump.sqlSTOP SLAVE;
mysql -uroot -pPASSWD < mysqldump.sqlshow master status; --主CHANGE MASTER TO
MASTER_HOST='10.48.186.32',
MASTER_USER='birepl',
MASTER_PASSWORD='PASSWD',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=398062,
MASTER_CONNECT_RETRY=10;
RESET SLAVE;
start slave;
SHOW SLAVE STATUS\G
Refer:[1] mysql 权限与安全https://yq.aliyun.com/articles/2719[2] mysql-5.7主从同步安装配置http://www.apelearn.com/bbs/thread-13435-1-1.html[3] CentOS 7 下MySQL 5.7.12主从复制架构配置记录(亲自验证可行)http://www.voidcn.com/blog/juan0728juan/article/p-6050119.html[4] MySQL 5.7的多源复制http://www.cnblogs.com/xuanzhi201111/p/5151666.html[5] Slave_SQL_Running: No mysql同步故障解决方法http://kerry.blog.51cto.com/172631/277414[6] Slave_SQL_Running: No mysql同步故障解决方法http://blog.csdn.net/xiaoxinla/article/details/7679578[7] 有没有办法让从msyql主动从零开始在主mysql那里同步数据https://www.v2ex.com/t/78848[8] How to re-sync the Mysql DB if Master and slave have different database incase of Mysql replication?http://stackoverflow.com/questions/2366018/how-to-re-sync-the-mysql-db-if-master-and-slave-have-different-database-incase-o[9] Any option for mysqldump to ignore databases for backup?http://dba.stackexchange.com/questions/35081/any-option-for-mysqldump-to-ignore-databases-for-backup[10] mysql的binlog详解http://blog.csdn.net/wyzxg/article/details/7412777[11] 在什么时候可以调用reset master?http://bbs.chinaunix.net/thread-1199047-1-1.html[12] mysql只读模式的设置方法与实验http://blog.csdn.net/yumushui/article/details/41645469[13] MySql 创建只读账号http://blog.csdn.net/norsd/article/details/9081833© 著作权归作者所有
分类:mysql 字数:1699
点赞 (2) 收藏 (6) 分享
xrzs xrzs 关注此人
粉丝: 1101 博客数: 547 共码了 335494 字
评论(0)
尚无网友评论登录后评论

2.Centos6与MySQL5.3新建用户和数据库并授权:

一、新建用户
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password)
values(“localhost”,”cplusplus”,password(“cplusplus.me”));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:cplusplus 密码为:cplusplus.me 的用户。
二、登录测试
mysql>exit;
@>mysql -u cplusplus -p
@>输入密码
mysql>登录成功
三、用户授权
//登录MYSQL
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(cplusplusDB)
mysql>create database cplusplusDB;
//授权cplusplus用户拥有cplusplusDB数据库的所有权限。
>grant all privileges on cplusplusDB.* to cplusplus@localhost identified
by ‘cplusplus.me';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
四、部分授权
mysql>grant select,update on cplusplusDB.* to cplusplus@localhost
identified by ‘cplusplus.me';
//刷新系统权限表。
mysql>flush privileges;
五、删除用户
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User=”cplusplus” and Host=”localhost”;
mysql>flush privileges;
六、删除数据库
mysql>drop database cplusplusDB;
七、修改密码
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where
User=”cplusplus” and Host=”localhost”;
mysql>flush privileges;

MySQL基本用户授权步骤相关推荐

  1. mysql撤销用户授权_mysql用户授权及撤销

    mysql数据库服务在不做授权的情况下只允许数据库管理员从数据库服务器本机登录. 默认只有数据库管理员从数据库服务器本机登录才有授权权限 mysql -u root -p (本机登录mysql服务器) ...

  2. MySQL新建用户,授权,删去用户,修改密码操作

    MySQL新建用户,授权,删去用户,修改密码操作  首先要声明一下:一般环境下,修改MySQL密码,授权,是需要有mysql里的root职权范围的.  注:本操作是在WIN号令提示符下,phpMyAd ...

  3. [MySQL]增加用户 授权 远程登录

    mysql创建用户和授权 1.创建用户: (注意:下面的指令,请在root用户下输入) CREATE USER "用户名" IDENTIFIED BY "密码" ...

  4. MySQL中用户授权/删除授权的方法

    用户授权方法 你可以通过发出GRANT语句增加新用户:  代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...

  5. MySQL新建用户,授权,删除用户,修改密码

    来源:http://www.cnblogs.com/analyzer/articles/1045072.html 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权 ...

  6. mysql给用户授权最大_mysql 给用户授权

    MySQL用户授权 GRANT 语句的语法如下:      GRANT privileges (columns)            ON what            TO user IDENT ...

  7. Mysql 添加用户 授权等操作

    MySQL中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  8. Linux Mysql 给用户授权

    MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法. mysql -u ...

  9. linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)

    1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...

最新文章

  1. .NET中的加密算法总结(自定义加密Helper类续)
  2. Mysql数据库五大常用数据引擎
  3. golang byte转string_Golang和Rust语言常见功能/库
  4. strictmath_Java StrictMath log1p()方法与示例
  5. SQL存储过程的导入导出
  6. [转]linux 系统 errno.h错误码
  7. 利用oc门或od门实现线与_OC和OD门、线与和线或
  8. 微信小程序底部导航栏tabBar及不显示问题解决记录
  9. devexpress控件使用笔记
  10. Poco库完全使用手册
  11. 从asm磁盘头自动备份看11g到12c的新特性--Physical_metadata_replication
  12. ubuntu18.04关闭笔记本触摸板
  13. IOS客户端接入FaceB,SSO授权
  14. eclipse32位和64位的区别
  15. oracle 序列/自增ID
  16. 作为程序员,赚取额外收入的 4个简单副业!
  17. ERP软件的价格设计
  18. 湿空气性质计算,随笔与学习记录(合订)
  19. 应广单片机adc_(1条消息) 应广单片机adc和pwm例程
  20. sde java_java操作oracle空间信息介绍(SDE)

热门文章

  1. Python 内置函数sorted()在高级用法
  2. centos6.5下iptables基础知识详解与配置
  3. 都说Djnago框架重,那就让哥用15行代码写个django web程序!
  4. 【转】Spring 4.x实现Restful web service
  5. 国外程序员收集整理的PHP资源大全
  6. java中gson的简单使用
  7. C语言step-by-step(四)(循环控制)
  8. 我们在运营前还需要准备的技术储备
  9. 关于遮罩层无效的记录
  10. linux计划任务作业