MySQL安装与基本配置
目录
- Mysql 选择5.6.48版本
将服务端和客户端一并下载到本地
服务端和客户端都在本地启动,后期到了公司服务端会有专门的服务器,所有人基于网路连接服务端操作
找到mysql安装位置: 如下图
解压完成后,在bin目录下
服务端 mysqld.exe 客户端 mysql.exe

注意:
前期在配置MySQL时,cmd终端以管理员身份运行 Win+R 输入cmd,进入的是普通用户终端,有一些命令是无法执行的前期启动服务端:
- cmd,管理员身份切换到mysqld所在的bin目录下,然后终端输入mysqld,回车
- 保留cmd窗口重新打开一个cmd作为客户端,然后切换到bin目录下,输入mysql -h 127.0.0.1 -P 3306 -uroot -p
- 刚开始是没有密码的,直接回车就可

"""常用软件默认端口号""" Mysql 3306 redis 6379 mongodb 27017 django 8000 flask 5000 """ MySQL第一次以管理员身份运行是没有密码的,直接回车即可 """SQL语句初始
- Mysql中 的sql语句是以分号作为结束的标志
- 基本命令:
"""查看所有的数据库库名""" show databases;
"""客户端连接服务端命令""": mysql -h 127.0.0.1 -P 3306 -uroot -p 可以简写成 mysql -uroot -p"""当输入的命令不对,又不想让服务器执行并返回报错信息,可以用 \c 取消""""""客户端退出""": 退出命令加不加分号都可以 quit exit""" 当在连接服务端的时候, 发现只输入mysql的时候也能连接 , 但是不是管理员身份, 只是一个游客模式 """环境变量配置及系统服务制作
知识补充
1.查看当前具体进程 tasklist tasklist |findstr mysqld 2.杀死具体进程 (在管理员cmd窗口才可以) taskkill /F /PID PID号环境变量配置
- 每次启动mysqld需要先切到对应的文件路径下才可以,这样就太繁琐,可以把
bin 目录添加到系统变量Path下。那么再次启动MySQL服务端的时候就不需要去换到对应的路径下,直接输入mysqld,就启动了,再启动一个cmd客户端,输入mysql -uroot -p,来连接服务端



- 但是经过上面的设置,每次都需要启用两个
cmd窗口,我们可以将mysql服务端制作成系统服务(开机自动启用)
"""查看当前计算机的运行进程数 """ services.msc"""将musqld制作为系统服务""" mysqld --install """将mysqld移除系统服务""" mysqld --remove我这个是已经安装过了,

安装完成后,查看任务管理器,点击服务选项,找到Mysql

系统服务好之后,想要连接服务端,首先不需要切路径,也不需要在cmd里面手动输入mysqld去启动了,只需要输入mysql -uroot -p,直接回车设置密码
"""密码设置""" mysqladmin -uroot -p原密码 password 新密码 直接在终端输入就可以 """测试""" mysqladmin -uroot -p123 password 132456忘记密码重置密码
"""可以将mysql获取用户名和密码校验功能看成是一个装饰器, 装饰在了客户端请求访问的功能上""" #1.关闭当前mysql服务端 命令行方式启动(让mysql跳过用户名密码验证功能) mysqld --skip-grant-tables #2.直接以无密码的方式连接 重新打开一个cmd终端,输入 mysql -uroot -p 直接回车 #3.修改当前用户的密码 修改的是安装目录 """D:\mysql\mysql-5.6.48-winx64\data\mysql\user.frm""" update mysql.user set password=password(123456) where user='root' and host='localhost'; """ 真正存储用户表的密码字段 存储的是密文 只有用户知道明文是什么,其他人不知道,这样更加安全 密码比对也只能比对密文 """ #4. 立刻将修改数据刷到硬盘 flush privileges; #5.关闭当前服务端,然后以正常校验授权表的形式启动 mysql -uroot -p 回车,输入新密码- 上面重置密码第三步修改当前用户的密码修改的就是
user.frm表

统一编码
进入
myqsl,输入\s查看数据库的字符编码

mysql默认配置文件

my-default.ini ini结尾的一般都是配置文件 """程序启动会先加载配置文件中的配置后才真正的启动""" [mysqld] #一旦服务器启动立刻加载下面的配置 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [client]#其他客户端my-default.ini不能更改,需要自己创建一个my.ini的配置文件
验证配置是否自动加载"""测试模拟"" [mysql] print('hello world') #修改配置文件后一定要重启服务才生效
统一编码的配置
在新创建的my.ini配置文件中重新写入
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8 """#修改配置文件后一定要重启服务才生效"""不想输入账户和密码,可以将管理员的用户名和密码添加到配置文件中
#这样不用每次都输入账号密码了 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] user="root" password="123456" default-character-set=utf8
配置好后
\s再次查看字符编码
- 配置完成后,
cmd直接输入mysql,不再需要输入账户密码,就可以直接以管理员身份运行。方便快捷!!!
数据库安装与配置Linux下
-
MySQL服务端(在linux系统)
- 下载安装
- sudo apt-get install mysql-server
- 启动服务
- sudo service mysql start
- 查看服务是否启动
- ps ajxlgrep mysql
- sudo service mysql status
- 停止服务
- sudo service mysql stop
- 重启服务
- sudo service mysql restart
- 下载安装
-
配置
- 配置问加你目录为 /etc/mysql/mysql.conf.d
- 进入目录,打开mysqld.cnf,可以看到配置项
- bind-address 表示服务器绑定的ip,默认为127.0.0.1
- port表示端口,默认是3306
- datadir表示数据库目录,默认为/var/lib/mysql
- general/ogfile表示普通日志,默认为/var/log/mysql/mysql.log
- log_error表示错误日志,默认为/var/log/mysql/error.log
#查询user所对应的host服务 select user,host from user ; #修改密码 update user set authentication_string="13467205064" where user="root"; #配置允许远程访问 update user set host="%" where user="root" and host="localhost" LIMIT 1; flush privileges;#修改完密码后要重新加载以下 -
MySQL 客户端
- 客户端为开发人员使用,常用的命令行客户端,navicat图形界面客户端等
- 下载安装命令行客户端
- sudo apt install mysql-client
- 连接数据库
- mysql -u root -p123456
- -u后面跟的是数据库的账户名,-p密码, -p与密码之间不能有空格
- 如果-p后面不加密码,那么回车后要求输入密码
- mysql -u root -p123456