Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19742898
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: Mysql/postgreSQL

2008-02-12 13:43:02

安装MYSQL

本章主要内容:

·         Installing on Linux

·         Installing on Windows

·         Installing on OS X

·         Configuring your system

·         Setting the root password

·         Deleting anonymous accounts

 

       Mysql 有源码和二进制两种版本,针对初学者,建议使用二进制版本.因为它易于安装,而且性能和稳定性较好.

Mysql 3种版本: Standard, Max, and Debug, 这里要使用max版本,因为需要使用InnoDB transaction-safe tables.本书主要针对: MySQL 4.1.

Mysql一般同时有多个版本:当前,最近版本,和一系列开发版本。

       下载地址:

linux上安装

需要安装如下包:

MySQL-server-VERSION.i386.rpm,MySQL-Max-VERSION.i386.rpm,MySQL-client-VERSION.i386.rpm,安装完毕后, /etc/init.d/会生成自动启动脚本.

具体安装过程暂略, 需要以后在安装的时候添加,包含用rpm方式和编译方式的安装

Windows上安装()

OS X上安装()

配置系统

Mysql默认的安装是不安全的,很多有用的特性也是关闭的.建议进行如下配置:

1,使用InnoDB tables

2,开启binary logging,以便灾难恢复

3,开启slow query logging

Windows下默认配置文件为c:\my.cnf, 建议改为my.ini,因为cnf有时是其他程序的文件扩展名.

Linux的在/etc/my.cnf,如果在一台服务器运行多个mysql, 可以在数据目录放置my.cnf。单个用户的配置文件在~/.my.cnf

建议的配置文件如下:

[mysqld]

# turn on binary logging and slow query logging

log-bin

log-slow-queries

 

# InnoDB config

# This is the basic config as suggested in the manual

# Datafile(s) must be able to

# hold your data and indexes.

# Make sure you have enough

# free disk space.

innodb_data_file_path = ibdata1:10M:autoextend

# Set buffer pool size to

# 50 - 80 % of your computer's

# memory

set-variable = innodb_buffer_pool_size=70M

set-variable = innodb_additional_mem_pool_size=10M

# Set the log file size to about

# 25 % of the buffer pool size

set-variable = innodb_log_file_size=20M

set-variable = innodb_log_buffer_size=8M

# Set ..flush_log_at_trx_commit

# to 0 if you can afford losing

# some last transactions

innodb_flush_log_at_trx_commit=1

 

公司的配置文件:

# Example MySQL config file for very large systems.

#

# This is for a large system with memory of 1G-2G where the system runs mainly

# MySQL.

#

# You can copy this file to

# /etc/my.cnf to set global options,

# mysql-data-dir/my.cnf to set server-specific options (in this

# installation this directory is /usr/local/mysql/data) or

# ~/.my.cnf to set user-specific options.

#

# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.

 

# The following options will be passed to all MySQL clients

[client]

#password      = your_password

port        = 3306

socket            = /tmp/mysql.sock

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

port        = 3306

socket            = /tmp/mysql.sock

skip-locking

key_buffer = 384M

max_allowed_packet = 1M

table_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

myisam_sort_buffer_size = 64M

thread_cache = 8

query_cache_size = 32M

# Try number of CPU's*2 for thread_concurrency

max_connections = 2000

thread_concurrency = 2

log_slow_queries = /var/lib/mysql/slow_query.log

log = /var/lib/mysql/query.log

long_query_time = 1

datadir = /usr/local/mysql_data

# Don't listen on a TCP/IP port at all. This can be a security enhancement,

# if all processes that need to connect to mysqld run on the same host.

# All interaction with mysqld must be made via Unix sockets or named pipes.

# Note that using this option without enabling named pipes on Windows

# (via the "enable-named-pipe" option) will render mysqld useless!

#

# mary add bind-address for MR mdSwh00015578

#skip-networking

#bind-address = 127.0.0.1

 

# Replication Master Server (default)

# binary logging is required for replication

# 04/04/2006, randy disable the binary logging

#log-bin

 

# required unique id between 1 and 2^32 - 1

# defaults to 1 if master-host is not set

# but will not function as a master if omitted

server-id  = 1

 

# Replication Slave (comment out master section to use this)

#

# To configure this host as a replication slave, you can choose between

# two methods :

#

# 1) Use the CHANGE MASTER TO command (fully described in our manual) -

#    the syntax is:

#

#    CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,

#    MASTER_USER=, MASTER_PASSWORD= ;

#

#    where you replace , , by quoted strings and

#    by the master's port number (3306 by default).

#

#    Example:

#

#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

#    MASTER_USER='joe', MASTER_PASSWORD='secret';

#

# OR

#

# 2) Set the variables below. However, in case you choose this method, then

#    start replication for the first time (even unsuccessfully, for example

#    if you mistyped the password in master-password and the slave fails to

#    connect), the slave will create a master.info file, and any later

#    change in this file to the variables' values below will be ignored and

#    overridden by the content of the master.info file, unless you shutdown

#    the slave server, delete master.info and restart the slaver server.

#    For that reason, you may want to leave the lines below untouched

#    (commented) and instead use CHANGE MASTER TO (see above)

#

# required unique id between 2 and 2^32 - 1

# (and different from the master)

# defaults to 2 if master-host is set

# but will not function as a slave if omitted

#server-id       = 2

#

# The replication master for this slave - required

#master-host     =  

#

# The username the slave will use for authentication when connecting

# to the master - required

#master-user     =  

#

# The password the slave will authenticate with when connecting to

# the master - required

#master-password =  

#

# The port the master is listening on.

# optional - defaults to 3306

#master-port     = 

#

# binary logging - not required for slaves, but recommended

#log-bin

 

# Point the following paths to different dedicated disks

#tmpdir          = /tmp/          

#log-update    = /path-to-dedicated-directory/hostname

 

# Uncomment the following if you are using BDB tables

#bdb_cache_size = 384M

#bdb_max_lock = 100000

 

# Uncomment the following if you are using InnoDB tables

#innodb_data_home_dir = /usr/local/mysql/data/

#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

#innodb_log_group_home_dir = /usr/local/mysql/data/

#innodb_log_arch_dir = /usr/local/mysql/data/

# You can set .._buffer_pool_size up to 50 - 80 %

# of RAM but beware of setting memory usage too high

#innodb_buffer_pool_size = 384M

#innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 % of buffer pool size

#innodb_log_file_size = 100M

#innodb_log_buffer_size = 8M

#innodb_flush_log_at_trx_commit = 1

#innodb_lock_wait_timeout = 50

 

[mysqldump]

quick

max_allowed_packet = 16M

 

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

 

[isamchk]

key_buffer = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M

 

[myisamchk]

key_buffer = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M

 

[mysqlhotcopy]

interactive-timeout

 

 

12章里面将进行更深入的讨论

其他配置

如果不能启动,可以使用mysqld –standalone(windows下面)

设置密码: set password for root@localhost=password('your password');现在需要这样登录: mysql -u root -p

 

       删除匿名用户:

use mysql;

delete from user where User='';

delete from db where User='';

flush privileges;

       创建用户:

grant create, create temporary tables, delete, execute, index, insert,
 lock tables, select, show databases, update
on *.*
to username identified by 'password';
 
 

By this stage, you should have a working MySQL installation ready to follow along in the rest of the book. You should have done the following:

·         Downloaded the latest binary version of MySQL for your operating system from .

·         Installed it—either via the installation program (on Windows or OS X) or via RPM.

·         Set up the server to run automatically on system startup, if so desired.

·         Created an options file.

·         Logged in and out for the first time.

·         Set the root password.

·         Deleted anonymous accounts.

·                     Created a username and password for your own programming tasks.

阅读(3297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~