Online Mysql2 Training

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Welcome to Vibrant

Technologies & Computers.


Address: K1/4 2nd Floor,Sec-15/16
Market Opp to Vaidehi Hotel, Vashi,
Navi Mumbai, Maharashtra 400703
CONTACT US ON :
vibranttechnologies.co.in

CONTACT US ON : vibranttechnologies.co.in

Content:

What is MySQL ? Its good features.


Installation guide.
Security and Privilege System
Compatibility with standards
Locks an interesting feature
Table types
Some more salient features
Replication

CONTACT US ON :
vibranttechnologies.co.in

What Is MySQL?
A fast, reliable, easy-to-use, multi-user multi-threaded
relational database system.
It is freely available and released under GPL (GNU
General Public License ).

CONTACT US ON :
vibranttechnologies.co.in

Why Use MySQL ?


MySQL server can handle very large databases.
Offers rich and very useful set of functions.
Connectivity, speed and security make MySQL very
suited for accessing database on a network.
A lot of contributed software available.

CONTACT US ON :
vibranttechnologies.co.in

What Does MySQL Offer ?


A privilege and password system that is very flexible
and secure and allows host-based verification.
Multi-threaded request-handling using kernel thread.
Replication features.
Very actively developed.
Memory leak proof.

CONTACT US ON :
vibranttechnologies.co.in

Quick Installation Guide


tar zxvf Mysql.x.xx.xx.tar.gz

cd Mysql-x.xx.xx.xx
./configure prefix=/usr/local/mysql
make
make install
scripts/mysql_install_db
safe_mysqld
Mysql u root password mypassword

CONTACT US ON :
vibranttechnologies.co.in

Configuring MySql

--bindir=Dir specifies dir for binaries


--localstatedir=Dir data dir
--with-tcp-port=portno
--with-unix-sock-path=absolute-path
--with-mysqld-ldflag=-all-static
--with-charset=charset (default Latin1)
--with-low-memory

CONTACT US ON :
vibranttechnologies.co.in

Support
Works on many different platforms like FreeBSD ,
NetBSD , Linux 2.0+, Windows 95, 98, 2000 & NT, HPUX etc
There are client tools and APIs available in c, c++,
java, perl, python, php, Tcl

CONTACT US ON :
vibranttechnologies.co.in

Security in mysql
Issues that bother: eavesdropping,altering
Uses ACLs (Access Control Lists) , also theres some
support for SSL connections
Has inbuilt methods for storing confidential data like
passwords in encrypted form.
Access is restricted thru grant of privileges to
users,hosts
CONTACT US ON :
vibranttechnologies.co.in

Privileges provided by mysql


The five tables: user,db,host,tables_priv,columns_priv
The privileges come into play only if there is a
retrieval of data from the database, or updation of
data in the database,e.g:
select 1+1;
calculator
File privilege : load data infile, select . Into outfile

CONTACT US ON :
vibranttechnologies.co.in

How the privilege system works


First reference to user followed by db and host , takes
place during connection verification
Reference to tables_priv and columns_priv at data
access stage
Ordering of user table on the basis of more specific
host values first, followed by more specific user
values.
For security purposes , mysql disallows host
addresses of the form :192.168.7.yahoo.com
CONTACT US ON :
vibranttechnologies.co.in

Some tips on security


Beneficial to invest in a firewall ; check using telnet
server_port 3306
Do not rely on the data entered by the user, he can trick
the code by using special character sequences
Make use of tcpdump, to check the whether or not mysql
data streams r unencrypted:
tcpdump l i eth0 w src port 3306|strings
Dont run mysqld as root.
Dont give process and file privileges to users as far as
possible.
CONTACT US ON :
vibranttechnologies.co.in

Continued..
Following mysqld options affect security:
1. - secure 2. skip-grant-privileges
3.
skip-name-resolve 4. skip-networking
Passwords by default are stored in hashed form in
database.But if the scrambled password is known the
hacker can still log in as the user.
Passwords can be stored in my.cnf file when
noninteractive access has to be done
Inbuilt functions for hashing: password,
encrypt,encode,decode
CONTACT US ON :
vibranttechnologies.co.in

Compatibility with Standards


What doesnt MySQL have ?
Transactions no provision for commit and rollback
No nested sub-queries
Views are not supported
Foreign keys not used for referential integrity checks

CONTACT US ON :
vibranttechnologies.co.in

Compatibility (contd.)
What extra does MySQL have ?
Locking/Unlocking of tables
Atomicity of operations
Directory organization
Access of tables across tables
Several other features, discussed later

CONTACT US ON :
vibranttechnologies.co.in

More about Locks !

Locks help in maintaining integrity, atomicity


Read locks enable you to only read from the locked

tables.
Write locks enable you to read and write exclusively.
Other threads cant access/update currently locked
tables
Write locks have higher priority than read locks
CONTACT US ON :
vibranttechnologies.co.in

MySql Table Types


Creates a .frm file that holds the table and column definition.
Syntax for defining table type is .. :
CREATE
TABLE test (
)
TYPE=HEAP ..
Categorization of types : Transaction safe type and Non
transaction safe type.
Transaction Safe table types allow rollbacks,restore changes if
update fails ,etc .
Non Transaction Safe table types are much faster ,use less disk
space as well as memory for updates.
CONTACT US ON :
vibranttechnologies.co.in

MyISAM tables
Use B-Tree indexing to store the keys, string indexes are
compressed .
MyISAM itself supports three different table formats: a)
static (fixed length) b) Dynamic c) Compressed
Static : fastest ,secure and simplest format ,
used when there are no varchar, blob or text.
Dynamic : each record stores a header that contain its
length
Compressed : created using myisampack tool , they are
read only ,use very little space as each record is
compressed separately
ISAM is a deprecated version of MyISAM
CONTACT US ON :
vibranttechnologies.co.in

Merge tables
A collection of identical MyISAM tables which are used
collectively.
FOR eg :
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY
KEY, message CHAR(20));
CREATE TABLE t2 (a INT AUTO_INCREMENT PRIMARY
KEY, message CHAR(20)) ;
CREATE TABLE total (a INT NOT NULL, message
CHAR(20), KEY(a)) TYPE=MERGE UNION=(t1,t2)

allowed : select ,insert and Operations update .


CONTACT US ON :
vibranttechnologies.co.in

Heap tables and Berkley DB


Use hashed index and are stored in memory
Generally used for temporary tables .

Berkley DB is used for making the tables transaction


safe

CONTACT US ON :
vibranttechnologies.co.in

MySQL Language Reference


OPTIMIZE
Syntax :: OPTIMIZE TABLE tbl_name[,tbl_name]..
Used only for MyISAM tables
It performs the following functions :repairs the table if the
table has deleted rows,sorts the index,and the statistics are
also made to date.
CHECK
Syntax ::
CHECK
TABLE tbl_name[,tbl_name...] [TYPE = [QUICK | FAST |
EXTEND | CHANGED]]
CONTACT US ON :
vibranttechnologies.co.in

MySQL Language Reference

Checks a table for errors and updates the key


statistics of the table
BACKUP
BACKUP TABLE tbl_name[,tbl_name...] TO
'/path/to/backup/directory
This again works only for MyISAM
ANALYZE
During analysis the table is locked with a read lock
CONTACT US ON :
vibranttechnologies.co.in

MySQL Language Reference


REPAIR
Syntax:
REPAIR TABLE tbl_name[,tbl_name...] [TYPE = QUICK]
FLUSH
Syntax :
FLUSH flush_option [,flush_option]
Used to clear the internal cache of Mysql
It has various options like HOSTS,LOGS,PRIVELEDGES,
TABLES tbl_names,etc
CONTACT US ON :
vibranttechnologies.co.in

Replication in MySQL
What??
One server is designated as the master, while the other ( or
others) as slave(s)
Updates done only on master and binary logs made
The slave connects to the master, catches up on the
missed updates, and then starts receiving updates
immediately as they come to the master.
Why??
For robustness you have two systems and switch to the
backup if you have problems with the master.
The extra speed is achieved by sending a part of the nonupdating queries to the replica server.
CONTACT US ON :
vibranttechnologies.co.in

How To (SLAVE)
Upgrade both slave and master to 3.23.15 or higher.
PUT THESE IN my.cnf of SLAVE
master-host,user,passwd
server-id=< unique no>= 1 & <=2^32-1
master-connect-retry !! (keep trying)
master-info-file
replicate-rewrite-db
skip-slave-start
Restart the slave(s)
CONTACT US ON :
vibranttechnologies.co.in

How To (SLAVE) (contd)

Take a snapshot of all the tables/databases on the


master
Use command LOAD TABLE <tblname> FROM
MASTER (3.23.23)+
SLAVE START/STOP
FLUSH SLAVE

CONTACT US ON :
vibranttechnologies.co.in

HOW TO (MASTER)

log-bin , FLUSH MASTER , FLUSH SLAVE


When you start the slave thread will be created
Tables are not Locked
SET SQL_LOG_BIN=0/1
CHANGE MASTER TO master_def_list

CONTACT US ON :
vibranttechnologies.co.in

Thank You
Contact us on :
Vibrattechnologies.co.in

You might also like