1.mysql解压,创建配置文件【my.ini(一般都是这样命名)】
配置文件内容(参考wampserver中mysql的配置文件)
; Example MySQL config file for medium systems. ; ; This is for a large system with memory of 1G-2G where the system runs mainly ; MySQL. ; ; MySQL programs look for option files in a set of ; locations which depend on the deployment platform. ; You can copy this option file to one of those ; locations. For information about these locations, see: ; http://dev.mysql.com/doc/mysql/en/option-files.html ; ; 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 default-character-set=utf8 ; Here follows entries for some specific programs ; The MySQL server [wampmysqld] ;skip-grant-tables port = 3306 socket = /tmp/mysql.sock key_buffer_size = 64M max_allowed_packet = 20971520 ;Added to reduce memory used (minimum is 400) table_definition_cache = 600 sort_buffer_size = 2M net_buffer_length = 8K read_buffer_size = 2M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 32M ;Path to mysql install directory basedir="D:/mysql-5.7.26-winx64" log-error="D:/mysql-5.7.26-winx64/logs/mysql.log" ;Verbosity Value 1 Errors only, 2 Errors and warnings , 3 Errors, warnings, and notes log_error_verbosity=2 ;Path to data directory datadir="D:/mysql-5.7.26-winx64/data" ;Path to the language ;See Documentation: ; http://dev.mysql.com/doc/refman/5.7/en/error-message-language.html lc-messages-dir="D:/mysql-5.7.26-winx64/share" lc-messages=en_US ; The default storage engine that will be used when create new tables default-storage-engine=MYISAM ; New for MySQL 5.6 default_tmp_storage_engine if skip-innodb enable ; default_tmp_storage_engine=MYISAM ;To avoid warning messages secure_file_priv="D:/mysql-5.7.26-winx64/tmp" skip-ssl explicit_defaults_for_timestamp=true ; The default SQL mode in MySQL 5.7 includes these modes: ; ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION. ; no line sql-mode="" gives default SQL mode ; To clear the SQL mode explicitly, set it to an empty string using sql-mode="" ;sql-mode="" ;sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER" ; 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 ; Disable Federated by default skip-federated ; Replication Master Server (default) ; binary logging is required for replication ;log-bin=mysql-bin ; binary logging format - mixed recommended ;binlog_format=mixed ; 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) ; New for MySQL 5.6 if no slave skip-slave-start ; ; 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 ; The InnoDB tablespace encryption feature relies on the keyring_file ; plugin for encryption key management, and the keyring_file plugin ; must be loaded prior to storage engine initialization to facilitate ; InnoDB recovery for encrypted tables. If you do not want to load the ; keyring_file plugin at server startup, specify an empty string. early-plugin-load="" ; Uncomment the following if you are using InnoDB tables ;innodb_data_home_dir = C:/mysql/data/ innodb_data_file_path = ibdata1:10M:autoextend ;innodb_log_group_home_dir = C:/mysql/data/ ;innodb_log_arch_dir = C:/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 = 16M ; Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 60 innodb_flush_method=normal [mysqldump] quick max_allowed_packet = 20971520 [mysql] no-auto-rehash ; Remove the next comment character if you are not familiar with SQL ;safe-updates default-character-set=utf8 [isamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer_size = 2M write_buffer_size = 2M [myisamchk] key_buffer_size = 20M sort_buffer_size_size = 20M read_buffer_size = 2M write_buffer_size = 2M [mysqlhotcopy] interactive-timeout [mysqld] port = 3306 max_allowed_packet=20971520 character-set-server=utf8
2.执行mysqld --install出现(0xc000007b)的提示
解决方案:下载【DirectX修复工具】增强版
3.初始化!mysql
mysqld --initialize-insecure --user=mysql
4.执行net start mysql提示无法启动,没有报任务错
解决方案:清空mysql目录下的data文件夹内容,没有话就创建data文件夹
安装mysql服务的时候指定配置文件
mysqld.exe --install mysql-d --defaults-file="D:/mysql-5.7.26-winx64/my.ini"
#注:mysql-d是安装的服务名称
5.启动服务
net start mysql-d
6.登录mysql
mysql -u root -p
7.提示输入密码,密码为空,直接回车
8.修改root密码
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; flush privileges;--更新权限 exit; --注:不建议使用弱密码
#重启mysql-d net stop mysql-d; #停止服务 net start mysql-d; #启动服务
9.配置远程访问
use mysql;--使用mysql数据表 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; --配置远程访问关键语句 FLUSH PRIVILEGES;--更新权限 --注:第二条语句中【123456】是root的登录密码