一:MySQL简介
MySQL服务端启动:
windows:
启动服务:net start mysql
停止服务:net stopmysql
重启服务:net restart mysql
linux:
启动服务:service mysql start
停止服务:service mysql stop
重启服务:service mysql restart
二、MySQL介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是什么? mysql就是一个基于socket编写的C/S架构的软件 客户端软件 mysql自带:如mysql命令,mysqldump命令等 python模块:如pymysql
数据库管理软件分类:
分两大类:
关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
非关系型:mongodb,redis,memcache
可以简单的理解为:
关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构
三、登录设置密码
1、设置密码
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost。
# mysqladmin -uroot -p password "123" 设置密码为123,由于初始没有密码,so -p后为空。 # mysqladmin -uroot -p123 password "456" 设置密码为456,-p后跟原来的密码。
2、忘记root密码,如何破解(Windows版本)
# 第一步关闭MySQL服务
net stop mysql
# 第二步跳过授权表启动MySQL
mysqld --skip-grant-tables
# 第三步登录root管理用户,不需要输入密码
mysql -uroot -p 直接回车,即可进入MySQL命令行。
# 第四步设置新密码
update mysql.user set authentication_string=password("root!23456") where user = 'root' and host="localhost";
# 第五步刷新授权表
flush privileges;
# 第六步获取当前MySQL服务进程号
tasklist |findstr mysql 获取进程号
# 第七步干掉该进程
taskkill /F /PID XXX(上步获取的进程号)
# 第八步正常启动MySQL服务(服务启动后,正常连接MySQL即可,此时就可以输入新改的密码进行登录了)
net start mysql

3、忘记root密码,如何破解(Linux版本)
# 1、修改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 见下图在[mysqld]下加上skip-grant-tables
# 2、重启MySQL服务
systemctl restart mysql
# 3、登录root管理用户,不需要输入密码
mysql -uroot -p 直接回车,即可进入MySQL命令
# 4、设置新密码
mysql> update mysql.user set authentication_string=password('root123') where user='root' and host='localhost';
# 5、刷新授权表
mysql> flush privileges;
# 6、进入MySQL的配置文件,删除掉先加入的内容,保存退出,重启MySQL服务。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
systemctl restart mysql
# 7、此时就需要用新改的密码进行登录了。
![]()
四、统一字符编码
1、Linux版本:
# 1、修改MySQL的配置文件 # 修改mysqld的配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf #加上如下代码(见图4.1.1) [mysqld] character-set-server=utf8 collation-server=utf8_general_ci # 修改mysql客户端的配置文件 sudo vim /etc/mysql/conf.d/mysql.cnf #加上如下代码(见图4.1.2) [mysql] default-character-set=utf8 [client] default-character-set=utf8 # 2、重启MySQL服务 systemctl restart mysql # 3、查看一下,如图4.1.3 show variables like "%character%";
图4.1.1:
![]()
图4.1.2:
![]()
图4.1.3:
![]()
2、Windows版本:
Windows10 cmd执行命令 show variables like "%character%"; 默认的字符编码,如图所示。![]()
或者在命令行键入 \s,查看默认的字符编码,如图所示。
统一字符编码配置:
a、在mysql的解压目录下(与bin目录同级),新建my.ini文件,然后配置如下:
强调:配置文件中的注释可以有中文,但是配置项中不能出现中文。
# 1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci # 2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效 [client] default-character-set=utf8 # 3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置 [mysql] default-character-set=utf8 #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准。
b、重启服务
# 关闭MySQL服务 net stop mysql # 启动MySQL服务 net start mysql
c、查看修改结果:
\s 或者 show variables like '%character%';

posted on
浙公网安备 33010602011771号