Comentum Site Map
 
 

Comentum Corp.

 
 

Creative Services

Interactive Multimedia Concept Marketing Broadband Technology
 

 

:: COMPANY
:: CAREERS
:: CONTACT INFO
:: TERMS & PRIVACY

 

 


MySQL Reference for OS X

Starting MySQL Server
Starting MySQL - (MySQL Install)

sudo usr/local/mysql/bin/mysqld_safe
enter your password
Press the keys: Ctrl+Z
bg

Starting MySQL - (OS X Server Install) sudo mysqld_safe
enter your password
Press the keys: Ctrl+Z
bg
Shutting Down MySQL Server
Shutting Down MySQL - (MySQL Install)

usr/local/mysql/bin/mysqladmin -u root -p shutdown
enter your password

Shutting Down MySQL - (OS X Server Install) mysqladmin -u root -p shutdown
enter your password
Setting Admin Password for MySQL Server
Setting MySQL Server Admin Password - (MySQL Install)

/usr/local/mysql/bin/mysqladmin -u root password <password>
enter your password
/usr/local/mysql/bin/mysqladmin -u root -h `hostname` password <password>
enter your password

Setting MySQL Server Admin Password - (OS X Server Install) mysqladmin -u root password <password>
enter your password
mysqladmin -u root -h `hostname` password <password>
enter your password
Starting MySQL Client
Starting MySQL Client - (MySQL Install)

/usr/local/mysql/bin/mysql -u root -p
enter your password

Starting MySQL Client - (OS X Server Install) mysql -u root -p
enter your password
MySQL Additional Security Implementation and Consideration
Use " mysql" configuration database (created by MySQL) and delete default users and users with no password.

use mysql
delete from user where user = ' ';
delete from user where user = 'root' and password = ' ';
flush privileges;

Delete "test" database if you are not going to use it. drop database test;
Granting Privilage to a User
Grand select and insert privilages to the USER: "Bob_user" and Password: password on all the tables (*) under the employee database.

grant select, insert on employee.* to Bob_user@localhost identified by 'password';

Grand all privilages to the USER: "Bob_user" and Password: password on all the tables (*) under the employee database. grant all on employee.* to Bob_user@localhost identified by 'password';
Showing Privilages for a User (I have not seen a statement for showing all privilages for all users)
Show privilages for USER: "Bob_user"

show grants for Bob_user@localhost;

Show privilages for root user. show grants for root@localhost;
Revoking Privilage from a User
Revoking select and insert privilages from the USER: "Bob_user" on all the tables (*) under the employee database.

revoke select, insert on employee.* from Bob_user@localhost;

Revoking all privilages from the USER: "Bob_user" on all the tables (*) under the employee database. revoke all on employee.* from Bob_user@localhost;
Backing up and Restoring MySQL database(s)
To backup a database called "employee.db" to the current working directory and call it "employee.sql"

open a new shell and type:
/usr/local/mysql/bin/mysqldump -u root -p employee.db > employee.sql
enter your password

To restore the backup database called "employee.sql" from the current working directory back to mysql database and call it "employee.db". login to mysql client:
/usr/local/mysql/bin/mysql -u root -p
enter your password
create a database called "employee.db":
create database employee.db;
open a new shell and type:
/usr/local/mysql/bin/mysql -u root -p employee.db < employee.sql
To backup all of the databases to a file called "dbsbackup.sql" in the current working directory.

open a new shell and type:
/usr/local/mysql/bin/mysqldump -u root -p -A > dbsbackup.sql
enter your password

To restore the backup database called "employee.sql" from the current working directory back to mysql database and call it "employee.db". open a new shell and type:
/usr/local/mysql/bin/mysql -u root -p < dbsbackup.sql
enter your password
Setting PATH for mysql on OS X
To add a MySQL path so you don't need to keep typing "usr/local/mysql/bin/" each time.

edit the file: /etc/profile and update the path by adding: usr/local/mysql/bin/ for example:
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin"

Displaying MySQL Configuration, Running Processes and Status
Show MySQL Variables and Configuration

login to mysql client and type:
show variables;

Show MySQL Running Processes from mysql>

login to mysql client and type:
show processlist;

Show MySQL Running Processes from shell#

login to mysql client and type:
usr/local/mysql/bin/mysqladmin -u root -p showprocesslist
enter your password

Show MySQL status login to mysql client:
show status;
Setting MySQL Configuration and Variables
Setting MySQL Variables

use the above show variables; to display variables and set a variable by typing:
set variable=value;
example:
set sql_safe_updates=1;

Setting MySQL configuration using "my.cnf"

MySQL will look inside the /etc for "my.cnf" file. This file does not exist by default.
you can find an example of such a file under : /usr/local/mysql/supportfiles/my-large.cnf
or search for such a file by openning a new shell and type:
sudo find / -name my-large.cnf -print
Create the file "my.cnf" and copy it inside the /etc folder.
You can set the MySQL Client, Server and other Configuration for example:
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
basedir = /usr/local/mysql/
datadir = /servers/raiddrive/databases/


Put the new "my.cnf" in /etc folder and shut down and restart mysql server.
You can display the current configuration and after update configuration by typing:
show variables;

Fixing database permissions issues with mysql
Fix mysql data permission issues

sudo chown -R mysql /usr/local/mysql/data
sudo chgrp -R wheel /usr/local/mysql/data

Changing MySQL Root Password
Changing MySQL Root Password

su -l mysql
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
mysql> FLUSH PRIVILEGES;


Mac OS X Server 10.4: Issues connecting PHP to MySQL
When running MySQL and PHP on the same Mac OS X 10.4 server, you may find that PHP cannot connect to MySQL. When PHP is communicating with a MySQL server on the same host, it uses a socket file to communicate, and looks for it at /tmp/mysql.sock. On Mac OS X Server 10.4, MySQL creates this socket file at /var/mysql/mysql.sock.
To resolve this issue, you can either change the location where MySQL creates its socket file, or modify the location where PHP looks for the file. Please note that the first option is less secure than the second.

I. To change the location where MySQL creates its socket file, do this:
1. Open your preferred text editor and create a plain text file.
2. Type this text (on two lines as shown):

[mysqld]
socket=/tmp/mysql.sock


3. Save the file as: /etc/my.cnf

--------------------------------------------------------------------------------------

II. To change the location where PHP looks for the socket file, follow these steps:
1. In terminal type:
sudo cp /etc/php.ini.default /etc/php.ini

2. Open /etc/php.ini in your preferred text editor.
3. Find the [MySQL] section, and change the mysql.default_socket directive:

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.

mysql.default_socket = /var/mysql/mysql.sock

4. Change the permissions on /var/mysql so that www can read the socket, by executing this in Terminal:
sudo chmod 775 /var/mysql
 
Colocate with Comentum for as little as $100 per month - San Diego Colocation
Bernard Kohan © 2007
Website Design and Development - San Diego, Chicago, Austin, Irvine, Los Angeles, Ft Lauderdale, Jacksonville
Website Database Development - - San Diego, Chicago, Austin, Irvine, Los Angeles, Ft Lauderdale, Jacksonville
Website Design and Flash Animation - San Diego, Chicago, Austin, Irvine, Los Angeles, Ft Lauderdale, Jacksonville

 

 

  San Diego • Los Angeles • Chicago • 800-387-1920  


 

Comentum Corporation, Copyright © 1996-2007