1 MySQL
2
3 echo Start the mysql as the root user using SecretPass password
4
5 echo Note that the clear command does not work from the shell so use the Ctrl + l shortcut to clear the messy screen
6 [mysql dir]/bin/mysql -h hostname -u root -p SecretPass
7
8 echo show the existing databases on this host (show present something like this )
9
10 show databases ;
11
12 mysql> show databases ;
13 +--------------------+
14 | Database |
15 +--------------------+
16 | information_schema |
17 | mysql |
18 +--------------------+
19 5 rows in set (0.00 sec)
20
21
22
23 echo running mysql in batch mode
24
25 shell> mysql -h host -u user -pSecretPass < /path/to/batch-file
26
27 ou can catch the output in a file for further processing:
28 shell> mysql < batch-file > mysql.out
29
30
31
32 DROP DATABASE `db_transpub` ;
33 CREATE DATABASE `db_transpub` DEFAULT CHARACTER SET utf8 ;
34 use db_transpub ;
35 DROP TABLE IF EXISTS `tb_contactDetails`;
36 CREATE TABLE `tb_contactDetails` (firstname VARCHAR(20), middlename VARCHAR(20), lastname VARCHAR(35),officeid VARCHAR(10),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups
37 VARCHAR(15),datestamp DATE,timestamp time, userId VARCHAR(15), PRIMARY KEY (`userId`));
38
39
40 miscelanious
41 echo how to get the version of mysql select version() phpMyAdmin provides php interface to mysql database(s)
42 MySQL Cheat Sheet
43
44 http://dev.mysql.com/doc/
45
46 search the documentation
47
48 To login (from unix shell) use -h only if needed.
49
50 [mysql dir]/bin/mysql -h hostname -u root -p
51 Create a database on the sql server.
52
53 create database [databasename];
54 List all databases on the sql server.
55
56 show databases;
57 Switch to a database.
58
59 use [db name];
60 To see all the tables in the db.
61
62 show tables;
63 To see database field formats.
64
65 describe [table name];
66 To delete a db.
67
68 drop database [database name];
69 To delete a table.
70
71 drop table [table name];
72 Show all data in a table.
73
74 SELECT * FROM [table name];
75 Returns the columns and column information pertaining to the designated table.
76
77 show columns from [table name];
78 Show certain selected rows with the value "whatever".
79
80 SELECT * FROM [table name] WHERE [field name] = "whatever";
81 Show all records containing the name "Bob" AND the phone number '3444444'.
82
83 SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';
84 Show all records not containing the name "Bob" AND the phone number '3444444' order by the phone_number field.
85
86 SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
87 Show all records starting with the letters 'bob' AND the phone number '3444444'.
88
89 SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';
90 Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a.
91
92 SELECT * FROM [table name] WHERE rec RLIKE "^a$";
93 Show unique records.
94
95 SELECT DISTINCT [column name] FROM [table name];
96 Show selected records sorted in an ascending (asc) or descending (desc).
97
98 SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
99 Return number of rows.
100
101 SELECT COUNT(*) FROM [table name];
102 Sum column.
103
104 SELECT SUM(*) FROM [table name];
105 Join tables on common columns.
106
107 select lookup.illustrationid, lookup.personid,person.birthday from lookup
108 left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
109 Switch to the mysql db. Create a new user.
110
111 INSERT INTO [table name] (Host,User,Password) VALUES('%','user',PASSWORD('password'));
112 Change a users password.(from unix shell).
113
114 [mysql dir]/bin/mysqladmin -u root -h hostname.blah.org -p password 'new-password'
115 Change a users password.(from MySQL prompt).
116
117 SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
118 Allow the user "bob" to connect to the server from localhost using the password "passwd"
119
120 grant usage on *.* to bob@localhost identified by 'passwd';
121 Switch to mysql db.Give user privilages for a db.
122
123 INSERT INTO [table name] (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
124
125 or
126
127 grant all privileges on databasename.* to username@localhost;
128 To update info already in a table.
129
130 UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';
131 Delete a row(s) from a table.
132
133 DELETE from [table name] where [field name] = 'whatever';
134 Update database permissions/privilages.
135
136 FLUSH PRIVILEGES;
137 Delete a column.
138
139 alter table [table name] drop column [column name];
140 Add a new column to db.
141
142 alter table [table name] add column [new column name] varchar (20);
143 Change column name.
144
145 alter table [table name] change [old column name] [new column name] varchar (50);
146 Make a unique column so you get no dupes.
147
148 alter table [table name] add unique ([column name]);
149 Make a column bigger.
150
151 alter table [table name] modify [column name] VARCHAR(3);
152 Delete unique from table.
153
154 alter table [table name] drop index [colmn name];
155 Load a CSV file into a table.
156
157 LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
158 Dump all databases for backup. Backup file is sql commands to recreate all db's.
159
160 [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql
161 Dump one database for backup.
162
163 [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql
164 Dump a table from a database.
165
166 [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
167 Restore database (or database table) from backup.
168
169 [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql
170 Create Table Example 1.
171
172 CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups
173 VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
174 Create Table Example 2.
175
176 create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default 'bato');
177
178 ;who has what priviledges
179
180 show grants ;
181
182
183 simple setup of php based web interface to a mysql database
184
185 This tutorial uses Ubuntu 7.10 the Gutsy Gibbon, Apache 2.0 , php5 and mysql
186
187 The follwoing main phpases are used:
188
189
190
191 - install Apache
192
193 - install mysql
194
195 - configure mysql - add users , create databases on mysql
196
197 - configure Apache
198
199 - install myPhpAdmin
200
201 - configure myPhpAdmin
202
203
204
205 1.Install Apache
206
207 #INSTALL APACHE
208
209 sudo apt-get install apache2
210
211 #Start or stop Apache
212 sudo /etc/init.d/apache2 stop | start | restart
213 #if installation of previous packages has failed
214 dpkg --configure -a
215
216 #install PHP mod_php for Apache
217 sudo apt-get install php5 libapache2-mod-php5
218
219 echo '<?php echo "Haaudi World"; ?>' > /var/www/test.php
220 open http://localhost/test.php - > you should see Haudi World
221
222 2. Install mySQL
223
224 #if installation of previous packages has failed
225
226 dpkg --configure -a
227 sudo /etc/init.d/apache2 stop | start | restart
228
229 #install mysql server
230 sudo apt-get install mysql-server
231 #when prompted type in your password
232
233 #if not prompted the command to get to the mysql prompt is :
234
235 mysql -uroot -pmysql
236
237 #set the password with the following:
238 mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('SecretPass');
239 #run the mysql with:
240 mysql -uroot -pSecretPass
241
242 #view the databases
243
244 show databases ;
245
246 #create a database with one table
247
248 create database testdb ;
249
250 use db_test
251
252 CREATE TABLE tb_testtable(
253 column0 INT PRIMARY KEY AUTO_INCREMENT,
254 column1 VARCHAR(100),
255 column2 VARCHAR(10) ) TYPE=INNODB;
256
257 3. Intall php
258
259 #install the php admin
260 sudo apt-get install libapache2-mod-auth-mysql php5-mysql
261 #when prompted configure the type of servers
262
263 #Other php modules usefull for development
264 apt-get install php5-gd
265 apt-get install php5-ldap
266 apt-get install php5-mysql
267 apt-get install php5-openssl
268 apt-get install php5-pear
269
270 4. Install phpMyAdmin
271
272 Download the latest stable build of phpMyAdmin [[http://surfnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.3-all-languages.tar.bz2]]
273
274 #place the tar under a phpMyAdmin folder (you would have to create it mkdir /var/www/phpMyAdmin ) under your doc root folder
275
276 mv /home/user/downloads/phpMyAdmin-2.11.3-all-languages/ /var/www/phpMyAdmin
277
278 tar -xvf phpMyAdmin-2.11.3-all-languages.tar.bz2
279
280 #configure the most sipliest (not sucure !!!) setup
281
282 vim /var/www/phpMyAdmin/config.inc.php
283
284 paste the following code in it:
285
286 ==============================COPY PASTE START
287
288 <?php
289
290 $cfg['blowfish_secret']='shazaam' ; // use here a value of your choice
291 $i=0;
292 $i++;
293 $cfg['Servers'][$i]['auth_type'] = 'cookie';
294 ?>
295
296 ==============================COPY PASTE END
297
298 Go to the login page :
299
300 http://localhost/phpMyAdmin/
301
302 Login in with the same password you set up during the mysql configuration(here user:root pass:SecretPass)
303
304
syntax highlighted by Code2HTML, v. 0.9.1
No comments:
Post a Comment
- the first minus - Comments have to be moderated because of the spammers
- the second minus - I am very lazy at moderating comments ... hardly find time ...
- the third minus - Short links are no good for security ...
- The REAL PLUS : Any critic and positive feedback is better than none, so your comments will be published sooner or later !!!!