@
目录数据库的安装与配置windows
将服务端和客户端一并下载到本地
服务端和客户端都在本地启动,后期到了公司服务端会有专门的服务器,所有人基于网路连接服务端操作
找到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
标签:配置,密码,mysqld,user,mysql,MySQL,安装,服务端,客户端 From: https://www.cnblogs.com/saury/p/16739167.html