MySQL 下載與安裝配置
也可去MySQL官網(wǎng)去找相應(yīng)的msi后綴的下載名寝衫,那個(gè)不用手動(dòng)配置并闲,有指引配置項(xiàng)
Mysql下載地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip
windows安裝MySQL匙奴,并配置密碼
運(yùn)行-> cmd叙赚。
首先 cd E:/Program Files/mysql-5.7.25-winx64/bin
命令:mysqld --initialize #直接初始化mysql怨咪,生成data文件夾中的文件。
命令:mysqld -install #安裝mysql
命令:net start mysql #啟動(dòng)服務(wù)器
#跳過密碼驗(yàn)證孟抗,在my.ini文件中配置如下
[mysqld]
skip-grant-tables
#cmd運(yùn)行到mysql/bin目錄下
mysql -u root -p
#進(jìn)入mysql命令行
use mysql;
#執(zhí)行修改密碼操作 123qwe為用戶密碼
update user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
#刷新數(shù)據(jù)庫
flush privileges;
net start mysql
net stop mysql
sc.exe delete "服務(wù)名"
疑難問題記錄
- Navicat Premium 12連接MySQL8.0出現(xiàn)2059錯(cuò)誤
- ubuntu16.04 安裝mysql5.7并設(shè)置root遠(yuǎn)程訪問
- mysql Index column size too large
- lower_case_table_names產(chǎn)生的問題
- mysql如何更改character-set-server默認(rèn)為latin1
- 輕量應(yīng)用服務(wù)器MySQL遠(yuǎn)程連接踩坑
- Navicat連接MySQL8+時(shí)出現(xiàn)2059錯(cuò)誤解決方法
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
上面那行以mysql_native_password的加密規(guī)則更新了用戶的密碼
password 對(duì)應(yīng)的字符串改成你原本的密碼就行了迁杨。具體原因就是如上個(gè)博客所說钻心,mysql8.0版本以后的密碼規(guī)則有變更,舊的連接工具必須升級(jí)新的驅(qū)動(dòng)才可解決此問題铅协,但捷沸,升級(jí)后,就要提示只有14天使用權(quán)限狐史。所以痒给,將加密規(guī)則改成mysql_native_password 即可。
- 使用mysql + code first 問題 预皇?在windows下使用mysql+code first 時(shí),生成的表名和數(shù)據(jù)庫名都是小寫婉刀。
解決方案:打開 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
然后在 [mysqld] 添加 lower_case_table_names=2
然后要記得重啟mysql服務(wù)
Docker + MySQL
MySQL 樹形數(shù)據(jù)獲取
根據(jù)父菜單id得到所有的子節(jié)點(diǎn)
select id from (
select t1.id,
if(find_in_set(parentId, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild
from (
select id,parentId from re_menu t where t.status = 1 order by parentId, id
) t1,
(select @pids := 要查詢的菜單節(jié)點(diǎn) id) t2
) t3 where ischild != 0
由于@符號(hào)與參數(shù)沖突吟温,可通過創(chuàng)建存儲(chǔ)過程解決
CREATE DEFINER=`root`@`localhost` PROCEDURE `OrganizationChildrens`(IN `pid` BIGINT)
BEGIN
select Id,ParentId,DisplayName as Text from (
select t1.id,t1.ParentId,t1.DisplayName,
if(find_in_set(parentId, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild
from (
select Id,ParentId,DisplayName from AbpOrganizationUnits t where t.IsDeleted = '0' order by ParentId, id
) t1,
(select @pids :=pid) t2
) t3 where ischild != 0;
END
ABP框架中調(diào)用存儲(chǔ)過程
public List<TreeSelectModel> GetChildrens(long? pid)
{
string sql = $"call OrganizationChildrens({pid})";
return _orginazationDapperRepository.Query<TreeSelectModel>(sql).ToList();
}