如果是 rpm 安装的话 可以用rpm -e --nodeps mysql*
如果是rhel 的 可以用 yum remove mysql 删除MySQL安装文件夹(data)与可删除MYSQL的数据文件!
安装:
rpm -ivh *.rpm文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf;
character-set-server=utf8
修改密码
mysqld_safe --skip-grant-tables & 无密码进入update mysql.user set password=password('ps') where user='root';
flush privileges;// 刷新
退出后正常重启MYSQL
正常登陆MYSQL
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('ps');
grant all PRIVILEGES on *.* to root@'%' identified by 'ps';
grant all PRIVILEGES on *.* to root@'localhost' identified by 'ps';
flush privileges;
1. 分别安装master和Slave数据库,过程略。
2. 配置master和slave的my.cnf,配置如下所示:
Master
character-set-server=utf8 port=3306 server-id=1 log-bin=mysqlmaster-bin.log(一定要打binlog日志才能实现主从热备) sync_binlog=1 innodb_buffer_pool_size=1024M binlog-do-db=aaa(同步的数据库名) binlog-ignore-db=bbb(忽略的数据库名) sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
|
slave:
character-set-server=utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES server-id=2 log-bin=mysqlslave-bin.log sync_binlog=1 innodb_buffer_pool_size=512M replicate-do-db=aaa(同步的数据库名) |
配置完后,分别重启mysql服务。
3. 登录slave的mysql,依次执行以下语句 :
mysql> stop slave; mysql> change master to master_host=' Master IP',master_user=' Master username',master_password=' Master password'; mysql> start slave; |
执行后可以通过“mysql> show slave status\G”来查看状态,
查看这两项是否为YES,yes为正常。
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
如果两个数据库的数据都为空的情况下,以上步骤已完成了主从热备部署。如果主数据库已有数据,从数据库需要先同步数据,继续做以下操作:
4. 登录master的mysql执行锁表语句:mysql> flushtables with read lock;
5. 从master导出数据,mysqldump -u root -p aaa > aaa.sql(此指令非mysql语句,是linux的执行指令)
6. 将导出的lsmp.sql文件传到slave服务器,如传到/root目录下
7. 登录slave的mysql,执行导入数据语句:
mysql> use aaa; mysql> source /root/lsmp.sql; |
8. Slave导入数据完成后,在master机器上查看mysqlbinglog和偏移量:
mysql> show master status; 查看结果如: +---------------------+----------+--------------+------------------+ |
9. 在slave机器上面修改成对应的日志文件和偏移量:
mysql>stop slave; mysql>CHANGE MASTER TO MASTER_LOG_FILE='mysqlmaster-bin.000003',MASTER_LOG_POS=1565; mysql>start slave; |
10. 最后master解锁: mysql> unlock tables;