//******************************************安装
安装mysql时如果dos提示未识别的命令或启动不了mysqld -initialize mysql,可以直接运行环境变量里添加路径下的mysqld.exe,如果系统缺少dll等情况时会显示提示对话框,根据提示下载缺少的dll放到C盘system32等相关的系统目录下
//**********************正常安装的流程是这样*******************************//
1.使用 mysqld -remove MySQL 命令先卸载它。
2、运行命令窗口(以管理员方式打开)
3、输入:mysqld --initialize --user=mysql --console,成功的话会生成随机密码,注意记录下生成的密码,第一次进入mysql会用到
4、输入:mysqld --install MySQL --defaults-file="D:\mysql-8.0.19-winx64\my.ini",其中MySQL是服务名
5、输入:net start mysql,启动mysql服务
6、输入:mysql -uroot -p,然后输入上面生成的密码,进入mysql欢迎界面
7、修改root密码,输入:alter user root@localhost identified by '新密码';(sql语句一般要以分号结尾)
8、为了可视化管理数据库,一般采用第三方软件,如Navicat Premium,可自行下载安装。
dos下按此步骤装到登录数据库时,如果装完提示不能连接可能时由于data文件夹中内容可能设置不对(除data文件夹下文件夹的内容都替换),
这时stop数据库替换其data文件夹为其他正常的data文件夹,其中数据库可直接拷贝,然后再启动数据库登录即可。其中密码是正常data文件夹数据库的密码。
//**********************当正常安装总提示连接不上的错误(具体错误有很多原因待理清)时需要这样安装*******************************//
解压mysql ,配置好环境变量,删除data文件夹,不用手动配置my.ini,这里用默认的。
1、mysqld -remove MySQL //清除旧的数据库安装
2、mysqld --initialize --user=mysql --console //产生的密码需要记住
3、mysqld --install MySQL //安装
4、net start mysql //启动
5、mysql -uroot -p //Enter password: **** 使用产生的密码登陆
6、alter user root@localhost identified by '123'; //修改密码为123,成功的话会提示Query OK, 0 rows affected (0.01 sec)
7、 \quit //退出mysql
8、net stop mysql //停止mysql服务
9、net start mysql //重新启动mysql服务
10、mysql -uroot -p //使用新密码登陆
11、show databases; //查看所有数据库
//**************按照上面步骤连接时命令提示符下登录提示系统错误2的原因和解决办法********************************
启动不了mysql服务,提示系统错误2,找不到指定文件,我在网上找了资料,我的错误原因是“服务的路径和安装的路径不一致”,通过修改注册表解决的,
-
首先打开注册表
win+r打开运行,输入regedit,打开注册表
-
更改注册表:找到
HKEY_LOCAL_MACHINE-SYSTEM
-CurrentControlSet
-services-mysql(服务名)
-ImagePath
把:"C:\Program Files\MySQL\bin\mysqld" --defaults-file="C:\Program Files\MySQL\my.ini" mysql 改为自己安装的实际路径。例如:"D:\mysql-8.0.19-winx64\bin\mysqld" MySQL
//**********************已有data文件,需要迁移data时需要这样安装*******************************//
1、mysqld --initialize
2、mysqld --install MySQL
3、net start mysql
4、mysql -uroot -p //输入已有data的数据库的配置密码登陆
5、show databases;
//**********************************************代码连接问题*******************
非常重要:在vs的项目里用nuget下载mysql.data.dll,选择安装MySql.Data.6.9.12的版本。然后在项目集的pages里可以找到lib文件夹下
的dll文件,把这个dll放到debug里即可使用,dll版本问题很重要,不对的话会产生很多莫名其妙的东西(出现问题首先排除版本问题)。
1、Client does not support authentication protocol requested by server; conside
//增加验证类型
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
FLUSH PRIVILEGES;
//查看登陆验证表
use mysql;
select user,host,plugin from user where user='root';
select user,host,plugin from user where user='root';//查看登陆验证类型
//********************以下my.ini的问题***********************************
my.ini中去除以下才能正常
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
skip_ssl
skip-name-resolve
//************完整的正常的.ini文件****************
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-8.0.19-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.19-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
//**************************************常用命令
CREATE DATABASE IF NOT EXISTS GMFast240;//创建数据库
DROP DATABASE IF EXISTS test_db_del;//删除数据库
Create table Table2 (Select * from Table1);//新建一个表从table1中所有数据
alter table table1 add pid int unsigned not null auto_increment primary key;//添加主键
update table1 set pid=0 where pid=6;
insert table1 (transactor,name_new,pid) values("xiaohong","hahha",0);
select max(RangeIndex) from Package_tbl//查找最大值
//*********************
string sqlStr = "select max(RangeIndex) from Package_tbl";
DataTable res = dtb.SelectSQL(sqlStr);
int maxIndex = Convert.ToInt32(res.Rows[0][0]);
maxIndex +=1;
ALTER TABLE table_name DROP COLUMN field_name;//删除列
//*********************************
alter table IMBIBITION_tbl add column INJECT_SPEED_AIR INT not null after AIR_COLUMN;
alter table IMBIBITION_tbl add column AIR_COLUMN_INJECT INT not null after INJECT_SPEED_AIR;//指定字段后加入字段
ALTER TABLE contacts ADD email VARCHAR(60) FIRST;//表最前加入字段
ALTER table Section_tbl ADD column RangeIndex INT not null;
//创建一张表
Create table Users(Name VARCHAR(20) NOT NULL,Password VARCHAR(20) NOT NULL,Purview INT NOT NULL);
Create table Users(Name VARCHAR(20) NOT NULL,Password VARCHAR(20) NOT NULL,Purview INT NOT NULL,UpdateTime DATETIME);
//删除一个表
DROP TABLE tb_emp3;