0
  1. In the command line, run the following command:

    /usr/bin/sudo mysql -u root -S /mnt/storagePool-1/storageSpace-1/.mysql/mysql3307/mysqld3307.sock

connect success

root@U-NAS:~# /usr/bin/sudo mysql -u root -S /mnt/storagePool-1/storageSpace-1/.mysql/mysql3307/mysqld3307.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.31-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

but Can't connect to mysql over sh script

sh script:

#!/bin/sh
/usr/bin/sudo mysql -u root -S /mnt/storagePool-1/storageSpace-1/.mysql/mysql3307/mysqld3307.sock <<EOF
flush privileges;
create database if not exists testaa CHARACTER SET utf8 COLLATE utf8_general_ci;
quit
EOF
exit 0

create database testaa not success

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> 
jeb
  • 78,592
  • 17
  • 171
  • 225
  • 2
    maybe sudo is failing and without a TTY, it's silent. Try running the script as root. Remove `flush privileges`, its not needed and frequenty abused. – danblack Jan 08 '21 at 03:36
  • [Related](https://stackoverflow.com/questions/5809064/how-to-access-mysql-database-using-shell-script) May be useful, as well as the link inside. – Xinthral Jan 08 '21 at 05:27

0 Answers0