Windows下面安装和配置MySQL(5.6.20)

时间:2022-01-01 17:10:36

1.首先到http://dev.mysql.com/ 上下载windows版mysql5.6免安装zip包。然后将zip包解压到D:\mysql-5.6.20-winx64下。

2.复制mysql下的my-default.ini, 在同目录下创建my.ini. my.ini为mysql的配置。最简单的配置:

Windows下面安装和配置MySQL(5.6.20)Windows下面安装和配置MySQL(5.6.20)
1 basedir=D:/mysql-5.6.20-winx64
2 datadir=D:/mysql-5.6.20-winx64/data
base config

我的配置为:

Windows下面安装和配置MySQL(5.6.20)Windows下面安装和配置MySQL(5.6.20)
 1 # For advice on how to change settings please see
2 # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
3 # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
4 # *** default location during install, and will be replaced if you
5 # *** upgrade to a newer version of MySQL.
6
7 [mysqld]
8 character-set-server=utf8
9
10 # Remove leading # and set to the amount of RAM for the most important data
11 # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
12 # innodb_buffer_pool_size = 128M
13
14 # Remove leading # to turn on a very important data integrity option: logging
15 # changes to the binary log between backups.
16 # log_bin
17
18 # These are commonly set, remove the # and set as required.
19 # basedir = .....
20 # datadir = .....
21 # port = .....
22 # server_id = .....
23 basedir=D:/mysql-5.6.20-winx64
24 datadir=D:/mysql-5.6.20-winx64/data
25 port=13306
26
27 character-set-server=utf8
28 default-storage-engine=INNODB
29 innodb_data_home_dir=D:/mysql-5.6.20-winx64/data
30 innodb_data_file_path=ibdata1:12M:autoextend
31 innodb_log_group_home_dir=D:/mysql-5.6.20-winx64/data
32
33 innodb_buffer_pool_size=10240M
34 innodb_log_file_size=4G
35 # Remove leading # to set options mainly useful for reporting servers.
36 # The server defaults are faster for transactions and fast SELECTs.
37 # Adjust sizes as needed, experiment to find the optimal values.
38 # join_buffer_size = 128M
39 # sort_buffer_size = 2M
40 # read_rnd_buffer_size = 2M
41
42 # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
my.ini

还可以在my.ini中增加lower_case_table_names=1(默认linux是区分表名大小写的,加上这句话表示在linux下不区分表名大小写)

mysql : Lock wait timeout exceeded; try restarting transaction

原因是你使用的InnoDB表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.你可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.

#innodb_lock_wait_timeout = 50
innodb_lock_wait_timeout
= 500 改成500秒

3.设置环境变量PATH。将D:\mysql-5.6.20-winx64\bin加入path中。

Windows下面安装和配置MySQL(5.6.20)Windows下面安装和配置MySQL(5.6.20)

4.CMD下面尝试启动mysqld --console,并将后台log输出在屏幕。

Windows下面安装和配置MySQL(5.6.20)

5.注册mysql为windows service. 以后可以使用windows service来安装mysqld和卸载mysqld的服务.

安装MySQL服务,一定要进入D:\mysql-5.6.20-winx64\bin目录执行安装

mysqld install

卸载MySQL服务

mysqld remove

Windows下面安装和配置MySQL(5.6.20)

Windows下面安装和配置MySQL(5.6.20)

6.进入服务管理器

Windows下面安装和配置MySQL(5.6.20)

7.启动MySQL服务

Windows下面安装和配置MySQL(5.6.20)

8.net start mysql 启动mysql服务,net stop mysql 停止mysql服务

Windows下面安装和配置MySQL(5.6.20)

9.也可以使用mysqladmin命令关闭mysql服务。

Windows下面安装和配置MySQL(5.6.20)

10.使用root用户登录mysql数据库

Windows下面安装和配置MySQL(5.6.20)

如果MySQL的连接端口不是默认的3306,可以使用下面的命令

mysql -P13306 -u root -p

指定MySQL连接端口13306

如果MySQL的连接服务器IP不是本机或者用户名不支持本机登陆,可以使用下面的命令

mysql -h机器名或IP地址 -P13306 -u root -p

11.显示数据库文件存放路径和所有数据库

show global variables like "%datadir%"; --查看数据库文件存放路径
show databases;  --显示所有数据库

Windows下面安装和配置MySQL(5.6.20)

12.修改root帐户的登陆密码1234:

GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';

Windows下面安装和配置MySQL(5.6.20)

\q 退出MySQL

13.创建数据库需要指定中文编码方式

Windows下面安装和配置MySQL(5.6.20)

14.查看MySQL存储引擎

show engines;

Windows下面安装和配置MySQL(5.6.20)

15.创建mysql远程连接用户,设置最大权限和登陆密码。

GRANT ALL ON *.* TO 'sa'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;

Windows下面安装和配置MySQL(5.6.20)

还有一些测试mysql安装的命令:

Windows下面安装和配置MySQL(5.6.20)Windows下面安装和配置MySQL(5.6.20)Windows下面安装和配置MySQL(5.6.20)

最后设置打开死锁开关的命令:

set global innodb_print_all_deadlocks=on

查看开关是否已经打开的命令:

show variables like 'innodb_print_all_deadlocks'

 

skip-grant-tables:非常有用的mysql启动参数

在my.cnf文件中增加一行:

skip-grant-tables

或者以命令行参数启动mysql:

/usr/bin/mysqld_safe --skip-grant-tables &

登陆mysql

mysql

修改管理员密码:

1 use mysql;
2 update user set password=password('1234') where user='root';
3 flush privileges;
4 exit;

重启mysql