resync a master-slave replication

Source: https://stackoverflow.com/questions/2366018/how-to-re-sync-the-mysql-db-if-master-and-slave-have-different-database-incase-o, David Espart 2010

This is the full step-by-step procedure to resync a master-slave replication from scratch:

At the master:

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

And copy the values of the result of the last command somewhere.

Without closing the connection to the client (because it would release the read lock) issue the command to get a dump of the master:

mysqldump -u root -p --all-databases > /a/path/mysqldump.sql

Now you can release the lock, even if the dump hasn’t ended yet. To do it, perform the following command in the MySQL client:

UNLOCK TABLES;

Now copy the dump file to the slave using scp or your preferred tool.

At the slave:

Open a connection to mysql and type:

STOP SLAVE;

Load master’s data dump with this console command:

mysql -uroot -p < mysqldump.sql

Sync slave and master logs:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

Where the values of the above fields are the ones you copied before.

Finally, type:

START SLAVE;

To check that everything is working again, after typing:

SHOW SLAVE STATUS;

you should see:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

That’s it!

MySQL replication CHANGE MASTER TO master_log_file

master Server

show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000177 | 31692464 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)

File = mysql-bin.000177, Position = 31692464

slave Server

stop slave;
CHANGE MASTER TO master_log_file = 'mysql-bin.000177', master_log_pos =31692464;
start slave;
show slave status \G;

Vue.js table template v-for Example

<div id="maintable">
    <table>
        <thead>
        <tr>
          <th scope="col">#</th>
          <th scope="col">連結</th>
          <th scope="col">名稱</th>
        </tr>
        </thead>
        <tbody>
        <template v-for="(item, index) in menulist">
          <tr>
            <th>{{ index + 1 }}</th>
            <td><a :href="item.dm_link">{{ item.dm_key }}</a></td>
            <td>{{ item.dm_name }}</td>
          </tr>
        </template>
        </tbody>
    </table>
</div>
let maintable = new Vue({
  el: '#maintable',
  data: {
    menulist: [
      {dm_key: 'TW1', dm_link: 'menu/TW1', dm_name: 'Innonext 1'},
      {dm_key: 'TW2', dm_link: 'menu/TW2', dm_name: 'Innonext 2'},
      {dm_key: 'TP1', dm_link: 'menu/TP1', dm_name: 'Innonext 3'},
      {dm_key: 'TP2', dm_link: 'menu/TP2', dm_name: 'Innonext 4'},
    ]
  },
  methods: { }
});

Salary for new manager

When the new manager wants 400,000/year.

We will give him 500,000/year.

If we give him 500,000/year, that’s 41,600/month.

If we don’t do any test for the new manager, we will definitely lost.

If the new manager is unqualified, we can’t take a pay cut either, or he’ll sue us. Then we will lose a lot.

So, we divide 500,000 into fixed salary of 240,000 and performance salary of 260,000.

Fixed salary of 240,000

Divide 240,000 fixed salary into 4 to 6, Basic salary & Performance salary.

Basic salary 96000, 8000/month linked to attendance.

Performance salary 144000, 12000/month linked to performance.

Performance salary of 260,000

Divided into annual goals, quarterly goals and monthly goals

Complete the Annual Goal to get 80,000

Complete the Quarterly Goal to get 15,000

Complete the Monthly Goal to get 10,000

If you can’t get the job done, you don’t get performance pay