def METHOD_NAME(self, host='localhost', port=6600, password=None):
    """Sends the "update" command to the MPD server indicated,
    possibly authenticating with a password first.
    """
    self._log.info('Updating MPD database...')
    try:
        s = BufferedSocket(host, port)
    except OSError as e:
        self._log.warning('MPD connection failed: {0}',
                          str(e.strerror))
        return
    resp = s.readline()
    if b'OK MPD' not in resp:
        self._log.warning('MPD connection failed: {0!r}', resp)
        return
    if password:
        s.send(b'password "%s"\n' % password.encode('utf8'))
        resp = s.readline()
        if b'OK' not in resp:
            self._log.warning('Authentication failed: {0!r}', resp)
            s.send(b'close\n')
            s.close()
            return
    s.send(b'update\n')
    resp = s.readline()
    if b'updating_db' not in resp:
        self._log.warning('Update failed: {0!r}', resp)
    s.send(b'close\n')
    s.close()
    self._log.info('Database updated.')