有的win7版本可以和mysql兼容,可以很容易安装上去。但有的版本不行。
我之前的win7上装不了mysql5.0,但可以装上mysql5.1。但是我重装了新的win7之后就都装不上去了。我试了四五个版本,装了不下10次,但每一次都是最后一步卡住了。
突然我想到了直接把安装好的mysql5.0的整个文件夹都拷过来,于是便开始动手试了试,三个小时后终于试验成功了。
方法如下:
下载一个安装好的mysql压缩包。
首先找到my.ini,没有就建一个。做如下配置
# Example MySQL config file for large systems. # # This is for a large system with memory = 512M 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/var) 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 [WinMySQLadmin] Server=C:/MySQL/MySQL_Server_5.0/bin/mysqld-nt.exe # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 #Path to installation directory. All paths are usually resolved relative to this. basedir="C:/MySQL/MySQL_Server_5.0/" #Path to the database root datadir="C:/MySQL/MySQL_Server_5.0/data" # The default character set that will be used when a new schema or table is # created and no character set is defined default-character-set=utf8 socket = /tmp/mysql.sock skip-locking key_buffer = 256M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8 # 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! # #skip-networking # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-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=<host>, MASTER_PORT=<port>, # MASTER_USER=<user>, MASTER_PASSWORD=<password> ; # # where you replace <host>, <user>, <password> by quoted strings and # <port> 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 = <hostname> # # The username the slave will use for authentication when connecting # to the master - required #master-user = <username> # # The password the slave will authenticate with when connecting to # the master - required #master-password = <password> # # The port the master is listening on. # optional - defaults to 3306 #master-port = <port> # # binary logging - not required for slaves, but recommended #log-bin=mysql-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 = 64M #bdb_max_lock = 100000 # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /usr/local/var/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /usr/local/var/ #innodb_log_arch_dir = /usr/local/var/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 256M #innodb_additional_mem_pool_size = 20M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 64M #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 = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
其中有三个路径 是你把解压好的文件夹所放的路径,这个路径名中不能有空格。
your_password是你的用户密码,你可以填入你想要的密码,不用引号。
保存好之后到“运行”中去执行一条指令:C:/MySQL/MySQL_Server_5.0/bin/mysqld-nt.exe --install。注意换成你的目录。
这样就注册好了一个mysql服务。接下来就是启动服务:
新建一个文件:start_SQLServer.bat
内容如下
@ECHO OFF if exist "%cd%\my.ini" goto startsrv for /f %%i in ('net start') do if %%i==MySQL goto MySQL_IsRunning goto MySQL_NotRunning :MySQL_IsRunning echo "found Server!" net stop mysql bin\mysqld-nt.exe -remove goto createmyini :MySQL_NotRunning echo "not found!" :createmyini rem ------------------------------------------------------- rem edit my.ini echo [client] >>my.ini echo default-character-set=utf-8 >>my.ini echo port=3306 >>my.ini echo [server] >>my.ini echo default-character-set=utf-8 >>my.ini echo port=3306 >>my.ini echo [mysql] >>my.ini echo default-character-set=utf-8>>my.ini echo [mysqld] >>my.ini echo port=3306 >>my.ini echo basedir=%cd% >>my.ini echo datadir=%cd%/data >>my.ini echo default-character-set=utf-8 >>my.ini echo default-storage-engine=INNODB >>my.ini echo max_connections=100 >>my.ini echo query_cache_size=8M >>my.ini echo table_cache=256 >>my.ini echo tmp_table_size=9M >>my.ini echo myisam_max_sort_file_size=100G >>my.ini echo myisam_max_extra_sort_file_size=100G >>my.ini echo myisam_sort_buffer_size=16M >>my.ini echo key_buffer_size=9M >>my.ini echo read_buffer_size=64K >>my.ini echo read_rnd_buffer_size=256K >>my.ini echo sort_buffer_size=256K >>my.ini echo innodb_additional_mem_pool_size=2M >>my.ini echo innodb_flush_log_at_trx_commit=1 >>my.ini echo innodb_log_buffer_size=1M >>my.ini echo innodb_buffer_pool_size=15M >>my.ini echo innodb_log_file_size=10M >>my.ini echo innodb_thread_concurrency=8 >>my.ini rem edit my.ini end. rem --------------------------------------------------------------- :startsrv bin\mysqld-nt.exe -install net start MySQL
双击运行它就可以启动服务。
怎么停止服务呢?
再新建一个文件:stop_SQLServer.bat
@ECHO off Set CURRENT_DIR=%cd% Set MYSQL_HOME=%CURRENT_DIR% net stop mysql bin\mysqld-nt.exe -remove
双击运行它就关闭服务了。
到这一步就算完成了。以后打开电脑时这个服务就会自动加载。