Mysql入门到高级:环境搭建

分类: 服务器 > Mysql

1. MySQL的登录

格式:

mysql -h 主机名 -P 端口号 -u 用户名 -p密码

举例:

mysql -h localhost -P 3306 -u root -pabc123 # 这里我设置的root用户的密码是abc123

注意:

(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格。如:

mysql -hlocalhost -P3306 -uroot -pabc123

(2)密码建议在下一行输入,保证安全

mysql -h localhost -P 3306 -u root -p
Enter password:****

(3)客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本机: -hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略

简写成:

mysql -u root -p
Enter password:****

连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。

也可以在命令行通过以下方式获取MySQL Server服务版本的信息:

c:\> mysql -V
c:\> mysql --version

或登录后,通过以下方式查看当前版本信息:

mysql> select version();

2. MySQL演示使用

    2.1 查看所有的数据库

show databases;
//“information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,
比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的
文件夹,等等
// “performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。
// “sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据
库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。
// “mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的
字符集、约束检查信息,等等

    2.2 创建自己的数据库

create database 数据库名;

    2.3 使用自己的数据库

use 数据库名;

    说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046(3D000): No database selected”(没有选择数据库)

    使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。

    2.4 查看某个库的所有表格

show tables from 数据库名;

    2.5 创建新的表格

create table 表名称(
字段名 数据类型,
字段名 数据类型
);

    2.6 查看一个表的数据

select * from 数据库表名称;

    2.7 添加一条记录

insert into 表名称 values(值列表);

    2.8 查看表的创建信息

show create table 表名称\G

    2.9 查看数据库的创建信息

show create database 数据库名\G

    2.10 删除表格

drop table 表名称;

    2.11 删除数据库

drop database 数据库名;

3. MySQL的编码设置

    MySQL5.7中

        问题再现:命令行操作sql乱码问题

mysql> INSERT INTO t_stu VALUES(1,'张三','男');
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at
row 1

    问题解决

        步骤1:查看编码命令

show variables like 'character_%';
show variables like 'collation_%';

        步骤2:修改mysql的数据目录下的my.ini配置文件

default-character-set=utf8 #默认字符集
[mysqld] # 大概在76行左右,在其下添加
...
character-set-server=utf8
collation-server=utf8_general_ci

    MySQL8.0中

        在MySQL 8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL 8.0开始,数据库的默认编码改为 utf8mb4 ,从而避免了上述的乱码问题。

4. MySQL目录结构与源码

    4.1 主要目录结构

MySQL的目录结构
说明
bin目录
所有MySQL的可执行文件。如:mysql.exe
MySQLInstanceConfig.exe
数据库的配置向导,在安装时出现的内容
data目录
系统数据库所在的目录
my.ini文件 
MySQL的主要配置文件
\MySQL\MySQL Server 8.0\data\ 
用户创建的数据库所在的目录

5. 日常遇见问题:

    问题1:root用户密码忘记,重置的操作

        1: 通过任务管理器或者服务管理,关掉mysqld(服务进程)

        2: 通过命令行+特殊参数开启mysqld mysqld --defaults-file="D:\ProgramFiles\mysql\MySQLServer5.7Data\my.ini" --skip-grant-tables

        3: 此时,mysqld服务进程已经打开。并且不需要权限检查

        4: mysql -uroot 无密码登陆服务器。另启动一个客户端进行

        5: 修改权限表

        (1) use mysql;

        (2)update user set authentication_string=password('新密码') where user='root' and Host='localhost';

        (3)flush privileges;

        6: 通过任务管理器,关掉mysqld服务进程。、

        7: 再次通过服务管理,打开mysql服务。

        8: 即可用修改后的新密码登陆。


来源:原创 发布时间:2022-10-08 23:07:57