Windows Server 2012 R2安装MySQL 5.7

  1. 在官网下载最新版(5.7)的mysql数据库,32位的有直接安装的版本,然而64位的只有一个ZIP Archive
  2. 下载好后,将其解压,我直接装C盘,所以接下来都是以C盘为安装目录,如果安在别的盘,要自己更改相应的目录.
  3. my-default.ini这个配置文件复制一份,命名为my.ini,尝试了许多种文件内容之后,用以下的文件内容可以成功安装.mysql的文件夹中是没有data这个文件夹的,后续会提到.
 # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

 # *** default location during install, and will be replaced if you

 # *** upgrade to a newer version of MySQL.

 [client]

 default-character-set=utf8
 port=3306


 [mysqld]
 port=3306
 character_set_server=utf8
 basedir  ="C:\Program Files (x86)\mysql-5.7.14-winx64"

 datadir  ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/"

 tmpdir   ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/"

 socket   ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql.sock"

 log-error="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql_error.log"
 character_set_server=utf8

 #server_id = 2

 #skip-locking

 max_connections=100

 table_open_cache=256

 query_cache_size=1M

 tmp_table_size=32M

 thread_cache_size=8

 innodb_data_home_dir="C:\Program Files (x86)\mysql-5.7.14-winx64\data"

 innodb_flush_log_at_trx_commit =1

 innodb_log_buffer_size=128M

 innodb_buffer_pool_size=128M

 innodb_log_file_size=10M

 innodb_thread_concurrency=16

 innodb-autoextend-increment=1000

 join_buffer_size = 128M

 sort_buffer_size = 32M

 read_rnd_buffer_size = 32M

 max_allowed_packet = 32M

 explicit_defaults_for_timestamp=true

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES`
  1. 接下来添加环境变量,将 解压下来的文件中的bin文件夹设置成为环境变量,我的是C:\Program Files (x86)\mysql-5.7.14-winx64\bin
  2. 接下来是重点,到DOS进入到mysql的bin文件夹中!!输入以下命令
        1. mysqld --console

        2. mysqld  --initialize

        3. mysqld install 

可能会有各种各样的问题,自己看看问题原因再谷歌找找解决办法.到这里基本就安装完了.

6 . 接下来是修改root密码.这里可能会有一些乱七八糟的问题.
1. 到配置文件中,即之前的my.ini中, 在[mysqld]下添加一行skip-grant-tables这个参数顾名思义,忽略授权表,再忘记root密码的时候,这是个很有用的参数.
2. 启动MySQL, 在DOS中输入 mysql -uroot -pu就是user,p自然就是password,记得u和p与后面的用户名密码间不要有空格.这里回车后,会让你输入一个密码,随便输入一个你的密码就可以.
3. mysql> update mysql.user set authentication_string=password('123qaz') where user='root' and Host = 'localhost';括号中是自己的密码.记得结尾有个分号.
4. mysql> flush privileges;
5. mysql> quit;
6. 回到配置文件中,删除skip-grant-tables这一行,保存重启mysql即可.
7. 之后修改密码,使用mysql>SET PASSWORD = PASSWORD('123456');

远程登录配置

  1. 先使用mysql -uroot -p 登录数据库
  2. 进行授权操作 :mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
  3. 重载授权表: mysql>FLUSH PRIVILEGES;

    Access denied for user \’root\’@\’localhost\’”解决方法

  4. 解决办法就是重置一个新的密码

  5. 先停止mysql的运行.
  6. 创建一个文本文档,内容为SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');括号内填写新的密码,文件名任意,自己知道就好.保存在C盘.C:\pw.txt
  7. 到MySQL目录的bin文件夹内执行mysqldC:>C:\Program Files (x86)\mysql-5.7.14-winx64\bin\mysqld -nt --init-file=C:\pw.txt.这样,mysql启动的时候,就会执行pw.txt中的语句,它将重置root密码.如果卡死在这里,直接ctrl+c结束任务,再来一次即可.记得成功启动后删除pw.txt文件
  8. 再按照普通的方法启动即可.

你可能感兴趣的:(服务器)