数据库基本命令
启动服务器
mysql -h ip -P port -uroot -p 密码默认为空
关闭服务器
关闭服务器
tasklist | findstr mysqld
taskkill /F /PID 8372
注册系统服务
mysqld --install #安装服务
sc delete mysql(服务名) #删除服务
查看系统服务 运行->services.msc
通常设置为自动启动。
配置文件
客户端 除了mysql之外的 客户端的配置修改后 只需要退出重新连接即可
[client]
user = root
password = 111
default-character-set = utf8
服务器端配置 需要重启服务器
[mysqld]
character-set-server = utf8
修改管理员密码
现在密码默认为空 这样是不安全的
万一谁过来把你数据删了 怎么办?
#修改密码
在知道原始密码的情况下可以使用mysqladmin
mysqladmin是一个用于管理数据库的程序,包括修改密码,数据备份等
修改密码:
mysqladmin -uroot -p旧密码 password 123
警告忽略即可
#破解密码:
万一你不小心把密码忘记了怎么办? 到公司不可能卸载重装
这个密码它肯定要找地方存储起来 ,那存客户端还是服务器呢?
服务器 ,那存在内存还是硬盘呢? 必然是硬盘,既然如此,一定有一文件用于存放密码信息
#方式1:删除用于记录用户密码数据文件
没问题 简单粗暴 但是,这个文件里不只有你的账号信息 还有别人账号数据 还有授权相关的数据
所以你最好不要这么干!
那你在思考一下,服务器验证用户的本质是什么,是不是读取一个文件的数据来和你输入的数据进行对比,
那你可不可以这样子 我告诉我服务器说你不要去读那个授权文件,可以!
#方式2: 跳过授权表 进入系统修改授权表推荐
跳过这个操作是服务器相关的操作所以 咱的先关掉服务器重新开 在重新开的时候来告诉它
1.停止服务
2.启动服务器并添加参数
**mysqld --skip-grant-tables**
3.使用客户端登录服务器 执行修改命令 此时不需要输入密码
update mysql.user set password = password("123123") where user="root" and host="localhost"**
4.刷新权限
flush privileges
5.命令行中重启服务器验证新密码
编码配置
使用客户端执行\s 可以查看当前服务器的设置信息
latin1 gbk 就是默认的编码。 服务器是拉丁 客户端是 GBK
很显然要乱码,我们必须保证编码方式一致!
如何设置:
在mysql安装目录下有个my_default.ini 他就是配置文件,但是他不是正在使用的
而是一个模板文件,我们如果要自己编写配置文件,需要自己复制一个叫做my.ini的文件来编写
编写格式我们已经学习过了
configpaser模块
[section]
option = value
要设置客户端的内容就写在mysql分区
要设置服务器的内容就写在mysqld分区下
mysql在启动的时候会自动到安装目录下找my.ini文件 找到命令对应的标题加载里面的设置项
测试:在配置文件中加入用户名密码配置
[mysql]
user = "root"
pasword = "123"
需要注意的是:mysql mysqld都会来读取这个文件,对于客户端和服务器我们需要使用section来区分
服务器配置部分
[mysqld]
character-set-server = utf8
客户端mysql配置部分
[mysql]
default-character-set = utf8
其余客户端配置部分
[client]
default-character-set = utf8
MAC配置
首先明确 配置文件编写方式相同!
不同的在于:
1.mysql的安装路径 mac默认无法修改
位于:/usr/local
使用command + shift + g 来前往
2.配置文件名称为 my.cnf 需要放在
当出现问题无法修正时可以重装mysql解决
mac彻底删除mysql
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
windows删除安装目录 删除系统服务即可
基本SQL语句
1.库相关操作
mydb 就是库文件名
增:
create database mydb charset utf8;
删
drop database mydb;
改
alter database mydb charset gbk;
查
show databases;
show create databases mydb;
切换库
use 库名
2.表相关操作
切换文件夹 (选择数据库)
use mydb;
增
create table t1 (id int,name char)
create table 表名称(字段名称 字段类型[(长度整数) 约束]) charset utf8;
#改
1.1改字段
alter table 表名 add | modify | drop | change
add 跟 列名和类型
modify 跟 列名 和 类型
drop 跟列名
change 跟 旧列名 新列名 类型
1.2改字符编码
alter table 表名 default character set gbk
#1.3改名称
rename table tname1 to tname2
#删
drop table 表名
#查
show tables;
show create table t1;
desc t1;
3.记录相关 一行数据
增
insert into 表名 values(v1,v2,....) # 该方式必须保证 插入的数据个数与 表格字段一 一对应
insert into 表名(字段名称1,字段名称2) values(v1,v2) # 该方式必须保证 插入的数据个数与 必须与指定的字段一 一对应
insert into 表名(字段名称1,字段名称2) values(v1,v2),(v1,v2) # 同时插入多条记录
删
delete from 表名 ; #删除所有记录
delete from 表名 where 条件; #删除满足条件的记录
改
update 表名 set 字段名称=新的值,字段名称2=值2; #修改所有记录
update 表名 set 字段名称=新的值,字段名称2=值2 where 条件 ; #修改满足条件的记录
查
select * from 表名; # *表示全部字段 查询所有记录
select 字段 from 表名 where 条件;
#重建表,清空所有数据;
truncate table t1;
4.注意事项
注意事项:
默认情况,整数是有符号的,(可通过unsigned去设置为无符号整型)
存入的数据值 超过数据类型表示的最大范围时,会自动取最大值。
查看局部环境变量,即当前连接的环境变量。@@,例如:select @@sql_mode;
查看全局环境变量,即所有连接的环境变量。@ ,例如:select @sql_mode;
解决办法:设置严格模式(可写入配置文件)。
set sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
指定长度:int(长度)