Try these settings to improve performance when running a Sql file created from MysqlDump
(
echo "SET AUTOCOMMIT=0;"
echo "SET UNIQUE_CHECKS=0;"
echo "SET FOREIGN_KEY_CHECKS=0;"
cat mydumpfile.sql
echo "SET FOREIGN_KEY_CHECKS=1;"
echo "UNIQUE_CHECKS=1;"
echo "COMMIT;"
) | mysql -u username -p mydatabase
Tips and scripts relating to database administration. Mainly SQL Server but some MySQL and every now and again something different. Posts are brief and to the point.It's as much a place to make notes for my own use as anything else.
Monday, 29 October 2007
Friday, 26 October 2007
All locations nearby
-- all the points neraby
DECLARE @lat float, @lon float, @earthradius float
,@Xaxis float, @Yaxis float, @Zaxis float
-- this is the start point
SET @lat = 52.280709
SET @lon = -1.623253
-- calculate
SET @earthradius = 3963.1676 -- miles
set @Xaxis = cos(radians(@lat)) * cos(radians(@lon))
set @Yaxis = cos(radians(@lat)) * sin(radians(@lon))
set @Zaxis = sin(radians(@lat))
SELECT TOP 200
Postcode
,@earthradius *
acos( (cos(radians(Latitude)) * cos(radians(Longitude)))*@Xaxis
+ (cos(radians(Latitude)) * sin(radians(Longitude)))*@Yaxis
+ (sin(radians(Latitude)))*@Zaxis) distance
FROM
paf.dbo.ukpostcodepointsY07Q3
WHERE
@earthradius *
acos( (cos(radians(Latitude)) * cos(radians(Longitude)))*@Xaxis
+ (cos(radians(Latitude)) * sin(radians(Longitude)))*@Yaxis
+ (sin(radians(Latitude)))*@Zaxis)
< 2 -- miles
ORDER BY
distance asc
DECLARE @lat float, @lon float, @earthradius float
,@Xaxis float, @Yaxis float, @Zaxis float
-- this is the start point
SET @lat = 52.280709
SET @lon = -1.623253
-- calculate
SET @earthradius = 3963.1676 -- miles
set @Xaxis = cos(radians(@lat)) * cos(radians(@lon))
set @Yaxis = cos(radians(@lat)) * sin(radians(@lon))
set @Zaxis = sin(radians(@lat))
SELECT TOP 200
Postcode
,@earthradius *
acos( (cos(radians(Latitude)) * cos(radians(Longitude)))*@Xaxis
+ (cos(radians(Latitude)) * sin(radians(Longitude)))*@Yaxis
+ (sin(radians(Latitude)))*@Zaxis) distance
FROM
paf.dbo.ukpostcodepointsY07Q3
WHERE
@earthradius *
acos( (cos(radians(Latitude)) * cos(radians(Longitude)))*@Xaxis
+ (cos(radians(Latitude)) * sin(radians(Longitude)))*@Yaxis
+ (sin(radians(Latitude)))*@Zaxis)
< 2 -- miles
ORDER BY
distance asc
Tuesday, 23 October 2007
Resetting Mysql root password on Windows
To reset password for root, detail steps are as below:
The procedure under Windows:
Log on to the Windows system where MySQL is running as Administrator.
Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager:Start Menu -> Control Panel -> Administrative Tools -> ServicesThen find the MySQL service in the list, and stop it.If your server is not running as a service, you may need to use the Task Manager to force it to stop.
Create a text file and place the following command within it on a single line:SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(’MyNewPassword’);Save the file with any name. For this example the file will be C:\mysql-init.txt.
Open a console window to get to the DOS command prompt:Start Menu -> Run -> cmd
If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly.At the DOS command prompt, execute this command:C:\> C:\mysql\bin\mysqld-nt––init-file=C:\mysql-init.txtThe contents of the file named by the –init-file option are executed at server startup, changing the root password. After the server has started successfully, you should delete C:\mysql-init.txt.If you installed MySQL using the MySQL Installation Wizard, you may need to specify a –defaults-file option:C:\> “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe”
–defaults-file=”C:\Program Files\MySQL\MySQL Server 5.0\my.ini”
–init-file=C:\mysql-init.txt
The appropriate –defaults-file setting can be found using the Services Manager:
Start Menu -> Control Panel -> Administrative Tools -> Services
Find the MySQL service in the list, right-click on it, and choose the Properties option. The Path to executable field contains the –defaults-file setting. Be sure to supply the –init-file argument with the full system path to the file, regardless of your current working directory
Stop the MySQL server, then restart it in normal mode again. If the MySQL server is ran as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.
Connect to MySQL server by using the new password.
The procedure under Windows:
Log on to the Windows system where MySQL is running as Administrator.
Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager:Start Menu -> Control Panel -> Administrative Tools -> ServicesThen find the MySQL service in the list, and stop it.If your server is not running as a service, you may need to use the Task Manager to force it to stop.
Create a text file and place the following command within it on a single line:SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(’MyNewPassword’);Save the file with any name. For this example the file will be C:\mysql-init.txt.
Open a console window to get to the DOS command prompt:Start Menu -> Run -> cmd
If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly.At the DOS command prompt, execute this command:C:\> C:\mysql\bin\mysqld-nt––init-file=C:\mysql-init.txtThe contents of the file named by the –init-file option are executed at server startup, changing the root password. After the server has started successfully, you should delete C:\mysql-init.txt.If you installed MySQL using the MySQL Installation Wizard, you may need to specify a –defaults-file option:C:\> “C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe”
–defaults-file=”C:\Program Files\MySQL\MySQL Server 5.0\my.ini”
–init-file=C:\mysql-init.txt
The appropriate –defaults-file setting can be found using the Services Manager:
Start Menu -> Control Panel -> Administrative Tools -> Services
Find the MySQL service in the list, right-click on it, and choose the Properties option. The Path to executable field contains the –defaults-file setting. Be sure to supply the –init-file argument with the full system path to the file, regardless of your current working directory
Stop the MySQL server, then restart it in normal mode again. If the MySQL server is ran as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.
Connect to MySQL server by using the new password.
Tuesday, 16 October 2007
Start of Week
-- function to return the date of Monday in a week
CREATE Function StartOfWeek
(
@date datetime = null
)
RETURNS datetime
AS
BEGIN
DECLARE @Monday datetime
IF @date IS NULL
SET @date = GetDate()
-- round to midnight
SET @date = dateadd(dd,0, datediff(dd,0, @date))
SET @Monday = DateAdd(d, -((@@DATEFIRST + DatePart(dw, @date) -2) % 7), @date)
RETURN @Monday
END
Subscribe to:
Comments (Atom)