search
HomeDatabaseMysql TutorialDetailed explanation of the chronic diseases of MySql

1. Default encoding set problem

When displaying front-end data, all select * from t_news can be found All content. Then it won’t work when parameterizing queries. For example:

Select * from t_news where title like ‘%Source Code Education%’; 0 pieces of data were found.

Select * from t_news where id = 1. 1 piece of data was found.

Pay attention to the fields marked in red. This is after I modified it. They were originally latin1.

Solution:

The configuration file of MySQL under Windows is my.ini, which is usually in the root directory of the installation directory.

The configuration file of MySQL under Linux is my.cnf, which is generally placed in /etc/my.cnf, /etc/mysql/my.cnf. If you can't find it, you can use the find command to find it.

Open my.ini/my.cnf and modify the following two fields.

Ps: You need to restart mysql after modifying the configuration file.

2. Data is not rolled back

During programming, spring configures transactions, but when an exception occurs, the data in the database still changes. After confirming that there are no problems with the transaction and code configuration, we consider the possibility of specializing the database. We use the "Navicat" tool to design the table. In the "Options" column we find that the storage engine used by the table is MyISAM.

MyISAM does not support transactions. Rollback will cause incomplete rollback and is not atomic.

Change MyISAM to InnoDB.

There is also a default storage engine in the MySQL configuration file (my.ini). If there is no special statement when creating the table, the default storage engine will be used.

3. Optimize the import of large amounts of data

In our work, we will inevitably encounter the situation of importing large amounts of data. For example, you need to query previously backed up data, import real data locally for testing, regularly import data into a backup database, and other business scenarios.

MySQL provides the import method of load data infile. However, improper configuration will also lead to slow import speed.

Solution:

Increase the following parameter value, usually 80% of the physical memory. But 32-bit systems will be limited to 2-3.5G.

4. Enable custom function function (cloud database)

Sometimes when we run other people’s code, or when transplanting the server, we may encounter the database previously defined Function cannot be used. Especially with databases, the function function is not enabled by default, resulting in the function not being executed.

First we check whether the function is enabled. As shown below:

The custom function function here is turned off by default.

Solution: Use "set global log_bin_trust_function_creators = 1;" to enable custom function functionality.

Query again:

But this method is only a zero-time solution. After MySQL is restarted, the function will be turned off by default.

To permanently enable the custom function function, you need to add "log-bin-trust-function-creators=1" to the configuration file.

5. Table name case issues in Linux environment

In Linux system environment, MySQL table names are case-sensitive by default. Sometimes if a capital letter is entered incorrectly in the table name, the query cannot be found.

Solution: Add "lower_case_table_names=1" at the end of the my.cnf configuration file. Then restart MySQL.

"lower_case_table_names=1 "This sentence means to force the input statement to lowercase and then execute the statement.

Recommended study: "mysql video tutorial"

The above is the detailed content of Detailed explanation of the chronic diseases of MySql. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:segmentfault. If there is any infringement, please contact admin@php.cn delete
What Are the Limitations of Using Views in MySQL?What Are the Limitations of Using Views in MySQL?May 14, 2025 am 12:10 AM

MySQLviewshavelimitations:1)Theydon'tsupportallSQLoperations,restrictingdatamanipulationthroughviewswithjoinsorsubqueries.2)Theycanimpactperformance,especiallywithcomplexqueriesorlargedatasets.3)Viewsdon'tstoredata,potentiallyleadingtooutdatedinforma

Securing Your MySQL Database: Adding Users and Granting PrivilegesSecuring Your MySQL Database: Adding Users and Granting PrivilegesMay 14, 2025 am 12:09 AM

ProperusermanagementinMySQLiscrucialforenhancingsecurityandensuringefficientdatabaseoperation.1)UseCREATEUSERtoaddusers,specifyingconnectionsourcewith@'localhost'or@'%'.2)GrantspecificprivilegeswithGRANT,usingleastprivilegeprincipletominimizerisks.3)

What Factors Influence the Number of Triggers I Can Use in MySQL?What Factors Influence the Number of Triggers I Can Use in MySQL?May 14, 2025 am 12:08 AM

MySQLdoesn'timposeahardlimitontriggers,butpracticalfactorsdeterminetheireffectiveuse:1)Serverconfigurationimpactstriggermanagement;2)Complextriggersincreasesystemload;3)Largertablesslowtriggerperformance;4)Highconcurrencycancausetriggercontention;5)M

MySQL: Is it safe to store BLOB?MySQL: Is it safe to store BLOB?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

MySQL: Adding a user through a PHP web interfaceMySQL: Adding a user through a PHP web interfaceMay 14, 2025 am 12:04 AM

Adding MySQL users through the PHP web interface can use MySQLi extensions. The steps are as follows: 1. Connect to the MySQL database and use the MySQLi extension. 2. Create a user, use the CREATEUSER statement, and use the PASSWORD() function to encrypt the password. 3. Prevent SQL injection and use the mysqli_real_escape_string() function to process user input. 4. Assign permissions to new users and use the GRANT statement.

MySQL: BLOB and other no-sql storage, what are the differences?MySQL: BLOB and other no-sql storage, what are the differences?May 13, 2025 am 12:14 AM

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

MySQL Add User: Syntax, Options, and Security Best PracticesMySQL Add User: Syntax, Options, and Security Best PracticesMay 13, 2025 am 12:12 AM

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

MySQL: How to avoid String Data Types common mistakes?MySQL: How to avoid String Data Types common mistakes?May 13, 2025 am 12:09 AM

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.