Difference between revisions of "MySQL"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(→‎Working Notes: autonumbering; cleaned up section)
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{software|MySQL}}{{seed}}[[MySQL]] is a [[FOSS]] database engine and server. It fills roughly the same niche as [[Microsoft SQL Server]].
+
<hide>
 +
[[page type::article]]
 +
[[thing type::software]]
 +
[[software type::database engine]]
 +
[[license::libre/open source]]
 +
</hide>
 +
==About==
 +
[[MySQL]] is a [[FOSS]] database engine and server. It fills roughly the same niche as [[Microsoft SQL Server]].
  
The MySQL package (at least in Linux) comes with a number of helper utilities, including [[MySQL Administrator]] and [[MySQL Query Browser]]. The Administrator utility is useful for making backups, and the Query Browser serves as a front-end for interacting with databases. The Query Browser is, however, somewhat buggy as of version 4.
+
The MySQL package (at least in Linux) has a number of helper utilities available, including [[MySQL Workbench]] (a combination of the former [[MySQL Administrator]] and [[MySQL Query Browser]] applications).
 
==Articles==
 
==Articles==
* [[Using MySQL with MS Access]]
+
* '''SQL Syntax''':
* [[backing up MySQL data]]
+
** [[/GROUP_CONCAT]]
 +
** [[/INSERT]]
 +
* '''Versions''': stuff particular to specific versions
 +
** [[/version/5.7]]
 +
* '''Related'''
 +
** [[MS Access and MySQL]]
 +
* '''How-To''':
 +
** [[/porting/data]]: backing up and restoring
 +
** [[/notes]]: disorganized information, mostly how-to
 +
* '''Components''':
 +
** [[MySQL Administrator]]
 +
** [[MySQL Query Browser]] - now replaced with Workbench
 +
** [[MySQL Workbench]]
 +
* [[/archive]]: older stuff that probably is no longer applicable
  
==Criticisms==
+
==Links==
MySQL has been criticized by at least one user of lacking production-quality features, with version 5.0 only just starting to add them, where as other [[FOSS]] alternatives such as [[PostgreSQL]] had such features in their very earliest versions. MySQL has also been criticized for bad performance, e.g. locking entire tables when it only should have locked a row, as well as general incompatibility (Editor's note: with what?). (See also [[Wikipedia:MySQL#Criticisms of MySQL]])
+
===Reference===
 +
* [[URL::http://mysql.com/|official site]]
 +
** [http://dev.mysql.com/doc/refman/5.1/en/ Version 5.1 Manual]
 +
** [http://dev.mysql.com/doc/refman/4.1/en/ Version 4.1 Manual]
 +
* {{wikipedia}}
 +
* [http://hashmysql.org/ HashMySQL wiki]: official wiki of the unofficial-but-[http://dev.mysql.com/doc/refman/5.1/en/irc.html sanctioned] #mysql [[IRC]] channel on [[freenode]]
  
==Working Notes==
+
===How To===
===external connections===
+
* '''repair munged tables'''
If mysql refuses to respond to connection attempts from anywhere but the local machine, you need to edit /etc/mysql/my.conf and comment out the following line:
+
** [https://dev.mysql.com/doc/refman/5.5/en/mysqlcheck.html 4.5.3 mysqlcheck — A Table Maintenance Program]
bind-address  = 127.0.0.1
+
* '''data recovery'''
: and then restart mysqld.
+
** [http://dev.mysql.com/doc/refman/5.5/en/backup-and-recovery.html Chapter 7. Backup and Recovery]
===miscellaneous===
+
** [http://egil.biz/how-to-recover-mysql-data-from-innodb/ How to recover MySQL data from Innodb?] - if you have a copy of /var/www/lib/mysql but MySQL can't see the data
To restart the mysql [[daemon]] (mysqld) when you don't have a user with SHUTDOWN privileges but you do have system root:
+
*** The important thing to remember is that not all of the data is in the *.fr? files.
sudo /etc/init.d/mysql restart
 
===Query Browser bugs===
 
On [[Ubuntu]] 6.06 and earlier (I don't know if this has been fixed yet), the [[MySQL Query Browser]] has a tendency to crash when editing tables (this happens, unfortunately, before it even displays the required SQL, so you can't use it to work that out for you). This problem does not seem to affect the SQL window, so you can make the needed changes using SQL either in that window or via the [[CLI]] client &ndash; but working out the exact syntax can be tricky.
 
  
'''editing a blank table''': To work around the Query Browser bug which won't let you edit a blank table, create the first entry using MySQL's command line interface:
+
===News===
 
+
* '''2016-05-13''' [https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434 In MySQL, never use "utf8". Use "utf8mb4".]
woozle@camilla:~ $ mysql -h<u>yourhost</u> -u<u>yourusername</u> -p<u>yourpassword</u>
+
* '''2007-06-21''' [http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9025427&pageNumber=1 MySQL's architect discusses open source, database in a cloud, other IT issues]
Welcome to the MySQL monitor.  Commands end with ; or \g.
 
Your MySQL connection id is 12531702 to server version: 4.1.13-standard
 
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
 
mysql> use <u>yourdatabasename</u>
 
Reading table information for completion of table and column names
 
You can turn off this feature to get a quicker startup with -A
 
 
Database changed
 
mysql> INSERT INTO <u>tablename</u> () VALUES();
 
Query OK, 1 row affected (0.05 sec)
 
 
mysql>
 
 
 
...where <u>yourhost</u> is the name of your MySQL server, and can be anything that can resolve to an IP address, e.g. localhost, yourmachinename, yourserverdomain.com, or an actual IP address (I think).
 
 
 
'''creating a table''': If the Query Browser crashes when you try to create or edit a table, use the command line interface to create the table:
 
create table <u>table_name</u> (<u>field_name</u> <u>field_type</u>, <u>field_name</u> <u>field_type</u>{{optargs|, ...}});
 
Example:
 
create table example (key varchar(255));
 
 
 
'''making a field autonumbered''': Use the following SQL:
 
'''ALTER TABLE''' <u>tablename</u> '''MODIFY''' <u>fieldname</u> <u>fieldtype</u> '''AUTO_INCREMENT''';
 
Example:
 
'''ALTER TABLE''' Tracks_Queued '''MODIFY''' id '''INTEGER AUTO_INCREMENT''';
 
 
 
==Links==
 
* [http://mysql.com/ MySQL] Home Page
 
** [http://dev.mysql.com/doc/refman/4.1/en/ Version 4.1 Manual]
 
* {{wikipedia|MySQL}}
 

Revision as of 16:37, 19 May 2021

About

MySQL is a FOSS database engine and server. It fills roughly the same niche as Microsoft SQL Server.

The MySQL package (at least in Linux) has a number of helper utilities available, including MySQL Workbench (a combination of the former MySQL Administrator and MySQL Query Browser applications).

Articles

Links

Reference

How To

News