@Hamdon_Gunner have a similar issue, but if you do docker installation of ERP it works like charm, please let me know if you find a solution.
what’s the mariadb version?
I face this error with 10.6.3-MariaDB
In case of docker it is using MariaDB 10.3
❯ bench new-site testdevelop.localhost --install-app erpnext --admin-password admin --force
WARN: bench is installed in editable mode!
This is not the recommended mode of installation for production. Instead, install the package from PyPI with: `pip install frappe-bench`
MySQL root password:
ERROR 4047 (HY000) at line 10: InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
Table 'tabDefaultValue' missing in the restored site. Database not installed correctly, this can due to lack of permission, or that the database name exists. Check your mysql root password, validity of the backup file or use --force to reinstall
I replaced ROW_FORMAT=COMPRESSED
to ROW_FORMAT=DYNAMIC
everywhere and it worked.
Hi, Revant thanks for the explanation. I am facing this error while creating new site and this is my
my.cnf file
[mysqld]
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4
[mysql]
default-character-set = utf8mb4
I really dont understand what I am missing
Downgrade your MariaDB to less than 10.6 or change the frappe framework code.
You can find and replace ROW_FORMAT=COMPRESSED to ROW_FORMAT=DYNAMIC
Try reverting back the changes and using the site. Try to create a custom doctype for the site once the code changes are reverted.
What file does contain this? Thanks
Hi did you find where to change those options?
You’re looking for a MariaDB configuration file that is (usually) named my.cnf
It’s normally located here:
/etc/mysql/my.cnf
or here:
/etc/my.cnf
Open that file with a text editor. There should be a section named [mysqld
]. Somewhere in this, add a line as follows:
[mysqld]
...
...
innodb_read_only_compressed = FALSE
Once you’re done, restart the MariaDB service, to make the new setting take effect.
To reiterate, this change is only necessary on MariadDB 10.6+
Hello, I’ve set a solution for this issue the one that worked for me, please check it
In the my.cnf config file, you need to add the following line to resolve the issue.
[mysqld]
innodb-read-only-compressed=OFF
Restart mysql server after updating the config.
tried above setting and also tried
[mysqld]
skip-innodb-read-only-compressed
continue to get same error message. verified that above setting was being loaded with the # myslqd --print-defaults
command. Also verified:
MariaDB [(none)]> SHOW VARIABLES LIKE 'innodb_read_only_compressed';
+-----------------------------+-------+
| Variable_name | Value |
+-----------------------------+-------+
| innodb_read_only_compressed | OFF |
+-----------------------------+-------+
AS @revant_one suggested - the solution lies in modifying frappe framework and not in Mariadb setting? Any suggestions?
Was my problem - on a fresh install of erpnext in Ubuntu 20.04 with mariadb on a remote server, still need to run the command on ERP server : apt install mariadb-client
&& apt install libmariadbclient-dev (for my future reference)
the correct setting for mariadb 10.6 is as highlighted above:
Actually, for the benefit of the entire community. I probably would have gone on a WILD goose chase if not for this
Thank you, thank you, thank you
sudo apt install mariadb-client
&& sudo apt install libmariadbclient-dev` work for me
For those who faced this issue as I,
Table ‘tabDefaultValue’ missing in the restored site. Database not installed correctly, this can due to lack of permission, or that the database name exists. Check your mysql root password, validity of the backup file or use --force t reinstall
you have to install mysql client in your host machine. When using a remote database such as mariadb docker image like i did,
I am stuck with this error for almost a week now, on ubuntu 22.04, I tried to change the my.cnf file as mentioned, I installed the client and still stuck with same error, it is a fresh installation. any help?
I got the solution, Make sure to comment all [server], [mysqld] and [mysq] sections in 50-server.cnf and keep them in my.cnf, because two files conflicts together, then reinstall sql using
$sudo mysql_secure_installation and restart your machine.
let me know if you are still facing the issue
I am still facing this issue, please guide me.
I’m getting this error
mysql: unknown variable 'pid-file=/run/mysqld/mysqld.pid'
Table 'tabDefaultValue' missing in the restored site. Database not installed correctly, this can due to lack of permission, or that the database name exists. Check your mysql root password, validity of the backup file or use --force to reinstall
please help me resolve this
where to we need to change this "I replaced ROW_FORMAT=COMPRESSED
to ROW_FORMAT=DYNAMIC
everywhere and it worked. "
Do we have any file. As I can’t find this in configuration file.
You can try downgrading mariadb to 10.3 like others have suggested or upgrade frappe to the lastest stable on your branch, eg. 14.1 → 14.8
cd your-bench
cd apps/frappe
git pull
bench restart
# if you have unneeded changes
git add .
git stash
git pull