Vamos começar instalando os pacotes do 
Squid e do 
MySQL (foi feito no Ubuntu 16.04):
 sudo apt-get install mysql -y
$ sudo apt-get install squid -y
Caso for fazer no Ubuntu 18.04, pode acontecer de o MySQL não pedir a senha de root, nesse caso use o comando:
 sudo mysql_secure_installation
Coloque a senha que você deseja para o root e dê skip em tudo (apenas coloque a senha e aperte enter até terminar). 
Agora iremos criar as tabelas no MySQL:
 mysql -u root -p
mysql> 
create database squid;
mysql> 
use squid; 
mysql> 
CREATE TABLE usuarios (nome varchar(50) NOT NULL,senha varchar(32) NOT NULL,status tinyint(1) NOT NULL default "1",PRIMARY KEY (NOME));
mysql> 
INSERT INTO usuarios VALUES ('vol1', md5('senha1'), 1);
mysql> 
INSERT INTO usuarios VALUES ('vol2', md5('senha2'), 0);
O vol1 e vol2 são os usuários e o md5('senha1') encripta a senha e o 1 e 0 irá dizer se é um usuário ativo ou inativo.
Configuração do basic_db_auth
Será preciso baixar alguns pacotes para a autenticação, pois o 
basic_db_auth é escrito em Perl.
 sudo apt-get install libdbi-perl -y
$ sudo apt-get install libdbd-mysql-perl -y
Logo após instalar os pacotes, vamos começar a modificar o arquivo para fazer que ele trabalhe com a nossa tabela:
 sudo nano /usr/lib/squid/basic_db_auth
Editar a linhas:
-  Database DSN. Default "DBI:mysql:database=squid" ---> mudar caso Squid esteja com "S" maiúsculo para squid com "s" minúsculo 
-  Database table. Default "passwd". ----> mudar para usuários. 
-  =item	B<--usercol> 
-  Username column. Default "user". ---> nome 
-  =item	B<--passwdcol> 
-  Password column. Default "password". ----> senha 
-  my $dsn = "DBI:mysql:database=squid"; ---> mudar caso Squid esteja com "S" maiúsculo para squid com "s" minúsculo 
-  my $db_user = undef; ----> mudar para nome do usuário do mysql 
-  my $db_passwd = undef; ----> mudar para senha do mysql 
-  my $db_table = "passwd"; ----> mudar para usuários 
-  my $db_usercol = "user"; ----> mudar para nome 
-  my $db_passwdcol = "password";----> mudar para senha 
-  my $db_cond = "enabled = 1"; ---> mudar enabled para status 
Vamos fazer os testes:
 ./basic_db_auth --md5
Utilizar o --md5 para utilizar a criptografia md5 do mysql.
vol1 senha1 ----> colocar usuário e senha separados por espaço
Se retornar OK é porque está tudo certo.
 ./basic_db_auth --md5
vol2 senha2
ERR ---> se retornar ERR é pporque não autenticou.
Nesse caso estão corretos os dois exemplos, pois a autenticação é feita pelo usuário senha e o status, como o status do vol2 é 0 então ele não autentica.