大家好,欢迎来到IT知识分享网。
mamp 数据库操作(数据库 全量同步,增量同步)
1. 登录数据库
/Applications/MAMP/Library/bin/mysql -u root -p
2. 数据库备份
# 备份 ttk_saas库里的lb_account_chanel、lb_addons、lb_ad_page 表,并存到ttk_saas.sql 文件中 /Applications/MAMP/Library/bin/mysqldump -uroot -proot ttk_saas lb_account_chanel lb_addons lb_ad_page> ttk_saas.sql; # 备份 ttk_saas库里的lb_member_app 表中aid=9的数据,并存到ttk_saas.sql 文件中 /Applications/MAMP/Library/bin/mysqldump -uroot -proot ttk_saas lb_member_app --where "aid = 9"> ttk_saas.sql; # 备份 ttk_saas、ttk_member_2811数据库到ttk_saas.sql文件中 /Applications/MAMP/Library/bin/mysqldump -uroot -p --databases database_test1 database_test2 > backup_database_test1_test2.sql
3. 比对两个数据库的差异
/Applications/MAMP/Library/bin/mysqldiff --server1=username:password@localhost:3306 --server2=username:password@localhost:3306 --force --changes-for=server2 --difftype=sql ttk_member_40111:ttk_member_40113 > ttk_memger_diff.sql
4. 恢复数据库
/Applications/MAMP/Library/bin/mysql -uroot -proot ttk_member_40115 < ttk_member_40115.sql
5. 刷新 创建新的二进制日志
/Applications/MAMP/Library/bin/mysqladmin -uroot -proot flush-logs
6. 查看需要恢复的位置(需要先登录mysql)
show binlog events in 'mysql_bin.000003'; /Applications/MAMP/Library/bin/mysqlbinlog --stop-position=1617 /opt/data/mysql_bin.000003
7. 使用mysql binlog 进行数据恢复
/Applications/MAMP/Library/bin/mysqlbinlog --stop-position=1617 /opt/data/mysql_bin.000003 | /Applications/MAMP/Library/bin/mysql -uroot -proot
8. 可能遇到的问题
报错信息:ERROR: Query failed. 1142 (42000): SELECT command denied to user 'yang'@'172.26.84.83' for table 'proc' 原因:'proc'表是一个系统表,通常存储存储过程相关的信息,一般用户是没有权限访问的。 解决:将proc 分配给当前用户: GRANT SELECT ON mysql.proc TO 'yang'@'%'; 报错信息:ERROR: Query failed. 1142 (42000): SELECT command denied to user 'yang'@'172.26.84.83' for table 'event' 原因:同上 解决: GRANT SELECT ON mysql.event TO 'yang'@'%';
查询当前所有用户:SELECT User, Host FROM mysql.user; 创建mysql用户:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 修改指定用户 只能本地连接 到 可以所有ip连接: UPDATE mysql.user SET Host='%' WHERE User='yang' AND Host='localhost'; 将指定数据库 分配给指定用户: GRANT ALL PRIVILEGES ON ttk_member_40117.* TO 'yang'@'%'; 将所有数据库 分配给指定用户: GRANT ALL PRIVILEGES ON *.* TO 'yang'@'%'; 刷新权限:FLUSH PRIVILEGES; 修改用户密码:ALTER USER 'username'@'%' IDENTIFIED BY 'new_password'; 通过命令行 执行上边的操作: /usr/bin/mysql -h 127.0.0.1 -uroot -proot -e "GRANT ALL PRIVILEGES ON ttk_member_5392.* TO 'yang'@'%';FLUSH PRIVILEGES;"
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139208.html