1. mysql解压包下载地址
https://downloads.mysql.com/archives/community/
选择对应的版本和位数下载即可。
2. 解压到电脑上
注意如果是新电脑,需要下载DirectX微软修复工具,防止出现缺少C++类库导致安装错误。
3. 在解压路径Mysql\mysql-5.7.29-winx64下新建my.ini配置文件,内容如下:
注意:目录分割符号采用\,不要使用\
[client]
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
#skip-grant-tables
bind-address=0.0.0.0
port=3306
user=mysql
basedir=D:/software/Mysql/mysql-5.7.29-winx64
datadir=D:/software/Mysql/mysql-5.7.29-winx64/data
socket=D:/software/Mysql/mysql-5.7.29-winx64/mysql.sock
log-error=D:/software/Mysql/mysql-5.7.29-winx64/mysql.err
pid-file=D:/software/Mysql/mysql-5.7.29-winx64/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
character_set_server=utf8mb4
collation-server=utf8mb4_bin
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=32M
table_open_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=50M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=96M
innodb_log_file_size=20M
innodb_thread_concurrency=18
symbolic-links=0
explicit_defaults_for_timestamp=true
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
环境变量path中配置:
打开解压的目录进入到bin目录,然后复制当前文件的目录mysql\mysql-5.7.32-winx64\bin,将其添加到系统的环境变量当中。
初始化
以管理员身份运行cmd,进入到bin目录然后执行下面命令mysqld --initialize
如果提示错误,表示没有安装vs++运行库,MySQL运行需要这个运行库。
获取初始化数据库root用户随机密码
执行完上一步之后,在data目录下生的文件有一个.err文件,这里面有初始化的密码.找到这个密码;
A temporary password is generated for root@localhost: 123aaa
安装mysql服务
如果之前安装过,要先卸载,管理员账户cmd
mysqld --remove
mysqld --install
如果没有安装过,就直接安装
mysqld --install
登录数据库
mysql -u root -p password
密码是上面的那个随机密码,如果这样访问出现如下的异常
Access denied for user ‘root’@‘localhost’ (using password: YES)
如果出现这个异常,可以用如下方式解决
在my.ini文件中,在[mysqld]的里面添加一行
skip-grant-tables
然后重启服务
net stop mysql
net start mysql
登陆mysql,键入 mysql -u root -p 然后直接回车(Enter)
修改密码(注意:5.7和8.0及以上版本修改密码的命令不同)
5.7
mysql> use mysql
mysql> update user set password=password('root') where user='root';
mysql> flush privileges;
8.0
mysql> alter user 'root'@'localhost' identified by '新密码';
mysql> flush privileges;
登陆成功以后,输入:
update set authentication_string=password('123456') where user='root';
注意:mysql 5.7之后,user表里面去除掉了password字段,改为了authentication_string。
show variables like '%time_zone%'
如果要改成当前中国时区,可以用如下命令
set global time_zone=‘+8:00’
重启命令行,再显示一遍就成功了
10. 配置mysql允许远程连接
进入到mysql操作页,切换到mysql数据库
执行命令:select user, host, authentication_string from user;
如果没有root % 那一行,就证明还不能远程访问,然后输入如下命令
grant all privileges on . to “root”@“%” identified by “123456”;
flush privileges;
最后一行就是表示你的数据库可以用root以及你设置的密码123456来进行访问了。