Mysql安装和常用命令及问题汇总
//******************************************安裝
安裝mysql時(shí)如果dos提示未識(shí)別的命令或啟動(dòng)不了mysqld -initialize mysql,可以直接運(yùn)行環(huán)境變量里添加路徑下的mysqld.exe,如果系統(tǒng)缺少dll等情況時(shí)會(huì)顯示提示對(duì)話框,根據(jù)提示下載缺少的dll放到C盤system32等相關(guān)的系統(tǒng)目錄下//**********************正常安裝的流程是這樣*******************************//
1.使用 mysqld -remove MySQL 命令先卸載它。
2、運(yùn)行命令窗口(以管理員方式打開)
3、輸入:mysqld --initialize --user=mysql --console,成功的話會(huì)生成隨機(jī)密碼,注意記錄下生成的密碼,第一次進(jìn)入mysql會(huì)用到
4、輸入:mysqld --install MySQL --defaults-file="D:\mysql-8.0.19-winx64\my.ini",其中MySQL是服務(wù)名
5、輸入:net start mysql,啟動(dòng)mysql服務(wù)
6、輸入:mysql -uroot -p,然后輸入上面生成的密碼,進(jìn)入mysql歡迎界面
7、修改root密碼,輸入:alter user?root@localhost?identified by '新密碼';(sql語(yǔ)句一般要以分號(hào)結(jié)尾)
8、為了可視化管理數(shù)據(jù)庫(kù),一般采用第三方軟件,如Navicat Premium,可自行下載安裝。
dos下按此步驟裝到登錄數(shù)據(jù)庫(kù)時(shí),如果裝完提示不能連接可能時(shí)由于data文件夾中內(nèi)容可能設(shè)置不對(duì)(除data文件夾下文件夾的內(nèi)容都替換),
這時(shí)stop數(shù)據(jù)庫(kù)替換其data文件夾為其他正常的data文件夾,其中數(shù)據(jù)庫(kù)可直接拷貝,然后再啟動(dòng)數(shù)據(jù)庫(kù)登錄即可。其中密碼是正常data文件夾數(shù)據(jù)庫(kù)的密碼。
//**********************當(dāng)正常安裝總提示連接不上的錯(cuò)誤(具體錯(cuò)誤有很多原因待理清)時(shí)需要這樣安裝*******************************//
解壓mysql ,配置好環(huán)境變量,刪除data文件夾,不用手動(dòng)配置my.ini,這里用默認(rèn)的。
1、mysqld -remove MySQL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//清除舊的數(shù)據(jù)庫(kù)安裝
2、mysqld --initialize --user=mysql --console ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//產(chǎn)生的密碼需要記住
3、mysqld --install MySQL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //安裝
4、net start mysql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //啟動(dòng)
5、mysql -uroot -p ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //Enter password: **** 使用產(chǎn)生的密碼登陸
6、alter user root@localhost identified by '123'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //修改密碼為123,成功的話會(huì)提示Query OK, 0 rows affected (0.01 sec)
7、 \quit ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//退出mysql
8、net stop mysql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//停止mysql服務(wù)
9、net start mysql ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //重新啟動(dòng)mysql服務(wù)
10、mysql -uroot -p ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //使用新密碼登陸
11、show databases; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//查看所有數(shù)據(jù)庫(kù)
//**************按照上面步驟連接時(shí)命令提示符下登錄提示系統(tǒng)錯(cuò)誤2的原因和解決辦法********************************
啟動(dòng)不了mysql服務(wù),提示系統(tǒng)錯(cuò)誤2,找不到指定文件,我在網(wǎng)上找了資料,我的錯(cuò)誤原因是“服務(wù)的路徑和安裝的路徑不一致”,通過修改注冊(cè)表解決的,
首先打開注冊(cè)表
win+r打開運(yùn)行,輸入regedit,打開注冊(cè)表
更改注冊(cè)表:找到
HKEY_LOCAL_MACHINE-SYSTEM
-CurrentControlSet
-services-mysql(服務(wù)名)
-ImagePath
把:"C:\Program Files\MySQL\bin\mysqld" --defaults-file="C:\Program Files\MySQL\my.ini" mysql 改為自己安裝的實(shí)際路徑。例如:"D:\mysql-8.0.19-winx64\bin\mysqld" MySQL
//**********************已有data文件,需要遷移data時(shí)需要這樣安裝*******************************//
1、mysqld --initialize
2、mysqld --install MySQL
3、net start mysql
4、mysql -uroot -p ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//輸入已有data的數(shù)據(jù)庫(kù)的配置密碼登陸
5、show databases;
//**********************************************代碼連接問題*******************
非常重要:在vs的項(xiàng)目里用nuget下載mysql.data.dll,選擇安裝MySql.Data.6.9.12的版本。然后在項(xiàng)目集的pages里可以找到lib文件夾下
的dll文件,把這個(gè)dll放到debug里即可使用,dll版本問題很重要,不對(duì)的話會(huì)產(chǎn)生很多莫名其妙的東西(出現(xiàn)問題首先排除版本問題)。
1、Client does not support authentication protocol requested by server; conside
//增加驗(yàn)證類型
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
FLUSH PRIVILEGES;
//查看登陸驗(yàn)證表
use mysql;
select user,host,plugin from user where user='root';
select user,host,plugin from user where user='root';//查看登陸驗(yàn)證類型
//********************以下my.ini的問題***********************************
my.ini中去除以下才能正常
# 默認(rèn)使用“mysql_native_password”插件認(rèn)證
default_authentication_plugin=mysql_native_password
skip_ssl
skip-name-resolve
//************完整的正常的.ini文件****************
[mysql] ?
# 設(shè)置mysql客戶端默認(rèn)字符集 ?
default-character-set=utf8 ?
[mysqld] ?
#設(shè)置3306端口 ?
port = 3306 ?
# 設(shè)置mysql的安裝目錄 ?
basedir=D:\mysql-8.0.19-winx64 ?
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄 ?
datadir=D:\mysql-8.0.19-winx64\data ?
# 允許最大連接數(shù) ?
max_connections=200 ?
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集 ?
character-set-server=utf8 ?
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 ?
default-storage-engine=INNODB
//**************************************常用命令
CREATE DATABASE IF NOT EXISTS GMFast240;//創(chuàng)建數(shù)據(jù)庫(kù)
DROP DATABASE IF EXISTS test_db_del;//刪除數(shù)據(jù)庫(kù)
Create table Table2 (Select * from Table1);//新建一個(gè)表從table1中所有數(shù)據(jù)
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;
//創(chuàng)建一張表
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);
//刪除一個(gè)表
DROP TABLE tb_emp3;
?
總結(jié)
以上是生活随笔為你收集整理的Mysql安装和常用命令及问题汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 方式安装 zipkin
- 下一篇: c#中mysql远程连接方法及实例