windows本地搭建一个mysql的环境,便于学习
mysql的最新安装包可以在官网直接下载:【https://dev.mysql.com/downloads/mysql/】
下载完成后解压到电脑本地目录,如C:\soft\mysql8011
初始化配置
解压mysql-8.0.11-winx64.zip文件后,
在C:\soft\mysql8011\mysql-8.0.11-winx64目录新建一个my.ini配置文件,内容如下:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\\Users\\xxx\\Desktop\\performance_platform\\mysql-8.0.11-winx64\\mysql-8.0.11-winx64 # 设置mysql数据库的数据的存放目录 datadir=C:\\Users\\xxx\\Desktop\\performance_platform\\mysql-8.0.11-winx64\\mysql-8.0.11-winx64\\Data # 允许最大连接数 max_connections=20 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
接下里初始化数据,以管理员权限打开cmd,
cd到mysql 的bin目录:C:\soft\mysql8011\mysql-8.0.11-winx64\bin,执行指令
C:\soft\mysql8011\mysql-8.0.11-winx64\bin>mysqld --initialize --console
从日志里找到这一句,里面有root用户初始密码
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: IxdfzI,1w(rs ,
初始密码就是:IxdfzI,1w(rs ,
记住它,别关闭了,后面登录会用到!
要是你关快了,或者没记住,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的
启动服务,接着上面步骤在bin目录下执行命令:mysqld –install [服务名]
注:后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql1, mysql2。。。
D:\soft\mysql8011\mysql-8.0.11-winx64\bin>mysqld --install mysql Service successfully installed.
安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。
D:\soft\mysql8011\mysql-8.0.11-winx64\bin>net start mysql mysql 服务正在启动 . mysql 服务已经启动成功。
通过命令:net stop mysql 停止服务
远程连接设置
修改密码,在MySQL安装目录的 bin 目录下执行命令
mysql -u root -p
会提示输入密码,记住了上面安装时的密码IxdfzI,1w(rs,填入即可登录成功,进入MySQL交互模式
修改root用户密码,并允许root用户远程登录:
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'root'; mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'abcd1234'; Query OK, 0 rows affected (0.38 sec) select user,host from user;
MySQL备份脚本
@echo off set user=root set dbname=mysql set hour=%time:~0,2% set password=123456 if "%time:~0,1%"==" " set hour=0%time:~1,1% set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2% set backupfile=D:\soft\mysql8011\backup_sql\%dbname%-%backup_date%.sql D:\soft\mysql8011\mysql-5.7.32-winx64\bin\mysqldump -u%user% -p%password% %dbname% > %backupfile% forfiles /p D:\soft\mysql8011\backup_sql /s /m *.sql /d -30 /c "cmd /c del @file /f"
报错Got error: 1045: Access
1.在mysql的安装目录下,找到mysql的配置文件my.ini,在[mysqld]这个条目下加入skip-grant-tables(登录时不使用授权表),保存,重启mysql. 2.之后在cmd输入mysql -uroot -p按回车,出现password,直接回车可以成功登录mysql,不会报1405了。 3.在显示mysql>的命令行里输入use mysql,回车,再输入update mysql.user set authentication_string=password('密码') where user='root'; 4.输入flush privilges;(刷新数据库),再输入quit(退出数据库) 5.最后一步就是在my.ini里面把之前加入的skip-grant-tables删除或用#注释掉。再重启mysql。之后再用mysql -uroot -ppassword登录就不会再报1405了 6.select user,host from user;