MariaDB 和 MySQL 在windows上的安装和配置及杂七杂八

下载链接:

  • MySQL 社区版
  • MariaDB

解压后在bin目录下找到 mysql.exe 和 mysqld.exe,对于mysql.exe 和 mysqld.exe可以理解为 C/S 中的服务器与客户端关系:

  • mysqld.exe 服务器端
  • mysql.exe 客户端

MySQL 配置文件搜索路径:

C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
XXX\mysql-8.0.20-winx64\my.ini
XXX\mysql-8.0.20-winx64\my.cnf
其中 XXX 表示目录路径

在以上任意目录创建ini或cnf文件,配置如下:

[mysql]
# 设置客户端字符集
default-character-set = UTF8MB4

[mysqld]
# 设置端口
port = 3306

# 设置mysql目录
basedir = **XXX**\mysql-8.0.20-winx64

# 设置mysql数据库的数据存放目录
datadir = E:\mysql_data

# 允许最大链接数
max_connections = 20

# 服务器端字符集默认为8比特编码的latin1字符集
character-set-server = UTF8MB4

# 创建新表时将使用的默认存储引擎  mysql默认为INNODB
default-storage-engine = INNODB

#身份验证插件 详情参见  --[备注9]:--
#在MySQL 5.7中,默认的身份验证插件是 mysql_native_password
#mysql5.8开始将caching_sha2_password作为默认的身份验证插件
default-authentication-plugin=mysql_native_password

其中 XXX 表示目录路径


初始化 数据库

mysqld --initialize-insecure  --console(不设置root密码,建议使用)
mysqld  --initialize  --console(生成一个随机的root密码)
// --console 显示信息到控制台窗口;如果未配置此参数,则数据仓库中会有.err后缀的日志文件;

启动MySQL服务器端:

mysqld.exe

查看MySQL服务

1 windows
netstat -aon|findstr “3306” //配置中的端口号
tasklist|findstr “状态号” //上一个命令获得


查看MySQL服务

mysql.exe 登录

mysql -h host -P 3306 -u root -p  无密码 后直接回车  

设置密码

设置密码

  1. mysql下
set password for root@localhost = password('YourPassword');
//高版本MySQL 无效
  1. 或者使用mysqlamdin修改root密码
mysqladmin -u root -p password NewPassword
//高版本MySQL 无效
  1. 高版本修改密码:

经过测试:
直接修改密码的命令:ALTER USER root@localhost IDENTIFIED  BY 'pwd';
有效;

//以下为老方法
 1)  use mysql;

 2) update user set authentication_string='' where user='root';// 如果这个字段有值,先置为空

 3)  flush privileges;// 刷新权限表

 4)  执行select user,host from user;// 查看用户及host,方便后续修改

 5)  ALTER user 'root'@'%' IDENTIFIED BY 'root@123';// 修改root 密码
    //如果出错试用一下语句:  
    //alter user 'root'@'localhost' identified by '新密码'; 
    //或者 alter user'root'@'localhost' identified with mysql_native_password by '新密码';

 6) exit;//退出mysql




简单操作

1) 查看数据库
show databases;   //所有数据库列表
create database dbName; //创建数据库
use dbName;    //选择数据库
select database();   //查看当前使用的是哪个数据库
select version();   //查看版本
show variables like '%char%';   //查看一些配置
show tables;  //显示数据表列表

2) 查看数据表中的条目:
desc tableName;
describe tableName;
show columns from tableName;
show create table tbl_name;        //显示已经创建的表,创建时的语句
show create database db_name;  //显示已经创建的库,创建时的语句
show create event event_name;   //示已经创建的事件,创建时的语句
show create function func_name;  //显示已经创建的函数,创建时的语句
show create procedure proc_name;   //显示已经创建的存储过程,创建时的语句
show create trigger trigger_name;      //显示已经创建的触发器,创建时的语句
show create view view_name;            //示已经创建的视图,创建时的语句

3) 清空数据表中所有条目:
truncate table 表名;  //清空全部数据,不写日志,不可恢复,速度极快
delete from 表名;    //清空全部数据,写日志,数据可恢复,速度慢
        
4) 导入sql脚本:
source path;  //path  sql 文件路径

5) MySql添加字段命令[3]:
-- 向t_user表添加user_age字段
ALTER TABLE t_user ADD COLUMN user_age int(11) DEFAULT NULL COMMENT '年龄' AFTER user_email;
    t_user:表名
    user_age:添加的字段名称
    int(11):字段类型和长度
    DEFAULT NULL:默认为NULL
    '年龄':字段含义注释
    AFTER user_email:在user_email字段之后添加user_age字段
6) 修改字段长度:
ALTER TABLE tb_article MODIFY COLUMN NAME VARCHAR(50);
    tb_article为表名,NAME为字段名,50为修改后的长度
7) 修改字段类型:
ALTER TABLE tb_article MODIFY COLUMN NAME CHAR(50);
    修改后,name字段类型由varchar变为char
8) 修改列:
ALTER TABLE tb_article CHANGE name1 name2 VARCHAR(30);
    name1为修改前的列名,name2为修改后的列名。
   这里在修改列的时候,也可以改变列的类型或者长度
9) 删除列:
ALTER TABLE tb_article DROP COLUMN name2;
10) 删除约束
alter table 表名 modify 列名 类型; //删除not null约束
alter table 表名 drop index 唯一约束名; //删除unique约束
alter table 表名 drop primary key; //删除primary key约束
alter table 表名 drop foreign key 外键名;  //删除foreign key约束
  • 命令后跟随\g \G
    • \g 的作用是分号和在sql语句中写’;’是等效的
    • \G 的作用是将查到的结构旋转90度变成纵向

退出

  • mysqladmin退出
    mysqladmin -u root -p shutdown
  • mysql退出三种方法:
    mysql > exit;
    mysql > quit;
    mysql > \q;

mysql中Tinyint(1)和Tinyint(4)的区别

  • mysql中Tinyint(1)和Tinyint(4)的区别

参考:

  1. mysql数据库show variables和status
  2. 解决mySQL占用内存超大问题(优化范畴)
  3. MySQL数据表添加字段(三种方式)[3]
  4. Mysql中修改字段类型、长度以及添加删除列
  5. MySQL中int(M)和tinyint(M)数值类型中M值的意义
  6. mysqld_safe与mysqld区别详解
  7. 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
  8. mysql5.7 对比8.0
  9. MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件

你可能感兴趣的:(MariaDB 和 MySQL 在windows上的安装和配置及杂七杂八)