MySQL主从数据库复制
查看mysql端口是开启
netstat -tanl | grep 3306
MySQL用户的授权
mysql -uroot -p
查看现有的用户授权表
select user,host,password from mysql.user;
测试连接到其他mysql服务器
mysql -uroot -p -h192.168.0.100
授权用户user1,密码456所有权限从192.168.1.181主机访问本服务器的所有数据库。
grant all on *.* to slave@192.168.1.181 identified by "123456";
登录远程MYSQL服务器
mysql -uslave -p123456 -h192.168.1.180
查看当前数据库
select database();
查看表结构
desc table1;
开启MYSQL BIN-LOG
vim /etc/my.cnf
[mysqld]
log-bin
或者
log-bin=mysql-bin
bin-log保存路径-数据库数据文件夹根目录
/var/lib/mysql
在MYSQL查看是否开启bin-log
show variables;
show variables like "%bin%";
创建一个最新的BIN-LOG日志
FLUSH LOGS;
查看最后一个bin日志
SHOW MASTER STATUS;
清空所有的BIN-LOG日志
RESET MASTER;
查看bin-log的内容
mysqlbinlog mysqld-bin.000001
mysqlbinlog /var/lib/mysql/mysqld-bin.000003;
查看MYSQL字符集等相关信息
\s
MYSQL的备份
mysqldump -uroot -p123 test -l -F >'/tmp/test.sql'
-l是读锁 防止备份的过程中数据写入到数据库
-F是FLUSH LOGS
MYSQL的恢复
方法1:
mysql -uroot -p123 test -v -f < /tmp/test.sql
-v查看导入的详细信息
-f当遇到错误时,可以跳过去继续往下执行
方法2:
mysql -uroot -p123 test
source test.sql
恢复binlog文件二进制日志文件
mysqlbinlog --no-defaults mysqld-bin.000003 |mysql -uroot -p123 test
查看日志
mysqlbinlog --no-defaults /var/lib/mysql/mysqld-bin.000006 --start-position="106" --stop-position="962"|more;
按日志恢复
mysqlbinlog --no-defaults /var/lib/mysql/mysqld-bin.000006 --start-position="704" --stop-position="876"|mysql -uroot -p123 test