MySql
mysql8.0 密码验证问题
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '804324951Lsk';
修改验证策略
SHOW VARIABLES LIKE 'validate_password%'; #查看策略项
set global validate_password.policy=0; #设置策略级别
set global validate_password.length=4; #设置密码最大长度
set global validate_password.check_user_name=OFF 关闭密码验证策略
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; #修改密码
命令参考
-
启动服务命令: service mysql start/stop/restart
-
连接mysql:mysql -h IP -u root -p
-
mysql最大连接数通常是1000-3000
-
windows 卸载mysql 服务:sc delete MYSQL
-
创建用户及授权
CREATE USER 'yongyou'@'%' IDENTIFIED BY 'fc_ut8004&!';
GRANT SELECT ON fc.* TO ‘yongyou’@’%’ IDENTIFIED BY ‘fc_ut8004&!’;
FLUSH PRIVILEGES;
mysql主从同步
-
主机my.ini
#启用二进制日志
log_bin=mysql-bin
#需要备份的数据库名,多个库按“,”号分割
binlog-do-db=test
#若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步
#log_bin_trust_function_creators=TRUE
#指定server_id必须唯一
server_id = 1 -
重启主机mysql服务
net stop mysql
net start mysql
3.在主机建立账号并授权(或者使用root账号)
mysql> grant replication slave on . to ‘rep’@‘127.0.0.1’ identified by ‘rep’;
mysql> FLUSH PRIVILEGES;
查看授权状态:mysql> select * from user where user=‘rep’\G -
查看主机master 状态
show master status
-
从机上,设置同步(如果开启slave 请先关闭 stop slave)
mysql> CHANGE MASTER TO MASTER_HOST=‘127.0.0.1’,MASTER_PORT=3306,MASTER_USER=‘rep’,
MASTER_PASSWORD=‘rep’,MASTER_LOG_FILE=‘mysql-bin.000002’,MASTER_LOG_POS=120;
启动slave: mysql> start slave;
查看slave状态:show slave status\G;
Slave_IO_Running 和SLave_SQL_Running 必须都为OK !!!
出现Connecting的问题可能是权限配置问题 -
如果配置双向热备,在对换主从配置即可
数据迁移及备份
全库迁移
-
源机备份
mysqldump -u root -p --all-databases > /opt/file/all_datatases_20180506.bak
-
目标机恢复
mysql -u root -p < all_datatases_20180506.bak
单个数据库迁移
-
源机备份(test)
mysqldump -u root -p test > /opt/file/test_20180506.bak
-
目标机恢复
create database test;
mysql -u root -p < test_20180506.bak
迁移单个数据表,改表在目标主机上需事先存在