MySQL 5.7 Linux 安裝

安裝環(huán)境

  • 操作系統(tǒng):ReadHat 6 x86_64
  • 數(shù)據(jù)庫:Mysql 5.7

準(zhǔn)備工作

檢查是否安裝已有Mysql 或 其依賴包,如有則需要卸載

rpm -qa | grep mysql
rpm -e 包名 --nodeps

安裝

安裝包列表

  • mysql-community-common-5.7.17-1.el6.x86_64.rpm
  • mysql-community-- libs-5.7.17-1.el6.x86_64.rpm
  • mysql-community-client-5.7.17-1.el6.x86_64.rpm
  • mysql-community-devel-5.7.17-1.el6.x86_64.rpm (可選)
  • mysql-community-server-5.7.17-1.el6.x86_64.rpm

安裝命令

rpm -ivh mysql-community-common-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.17-1.el6.x86_64.rpm

安裝過程如圖

mysql 安裝

初始化

在 *nix 系統(tǒng)中,為了保證數(shù)據(jù)庫目錄為與文件的所有者為 mysql 登陸用戶,如果你是以 root 身份運(yùn)行 mysql 服務(wù),需要執(zhí)行下面的命令初始化

mysqld --initialize --user=mysql

如果是以 mysql 身份運(yùn)行,則可以去掉 --user 選項(xiàng)。

--initialize 初始化的,會(huì)生成一個(gè) root 賬戶密碼,密碼在log文件里
/var/log/mysqld.log 文件的最后一行就是root 密碼,該密碼被標(biāo)記為過期,故首次登錄后需要修改root的密碼才能使用MySQL

基礎(chǔ)配置

Mysql默認(rèn)的端口是3306
修改MySQL端口及默認(rèn)存儲(chǔ)引擎
/etc/my.cnf 的[mysqld]下面添加或修改

port=6033
default-storage-engine=INNODB

啟動(dòng)停止MySQL

service mysqld status 檢測mysql服務(wù)狀態(tài)
service mysqld start
service mysqld stop

修改密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Eoy!E!%X';

創(chuàng)建用戶

默認(rèn)root用戶是不能遠(yuǎn)程登錄的,也不提供遠(yuǎn)程功能。故需要?jiǎng)?chuàng)建一個(gè)用戶來用于遠(yuǎn)程登錄

create user trustmo identified by 'f76Ta,2G';

備注:
第一個(gè):用戶名
第二個(gè):用戶名密碼

創(chuàng)建數(shù)據(jù)庫及權(quán)限分配

  • 創(chuàng)建數(shù)據(jù)庫并指定字符集
create database updb default charset utf8 collate utf8_bin;
  • 分配權(quán)限
grant all on updb.* to trustmo@"%" identified by 'f76Ta,2G' with grant option;
  • 刷新緩存使生效
flush privileges; 

遇到的問題及解決

表名查詢不區(qū)分大小寫

/etc/my.cnf 的[mysqld]下面添加或修改

lower_case_table_names=1

MySQL在Linux下數(shù)據(jù)庫名、表名、列名、別名大小寫規(guī)則是這樣的:
1、數(shù)據(jù)庫名與表名是嚴(yán)格區(qū)分大小寫的;
2、表的別名是嚴(yán)格區(qū)分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴(yán)格區(qū)分大小寫的;
MySQL在Windows下都不區(qū)分大小寫。

this is incompatible with sql_mode=only_full_group_by錯(cuò)誤

  • 查詢當(dāng)前使用的sqlmode
select @@sql_mode;
結(jié)果如下:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

/etc/my.cnf 的[mysqld]下面添加或修改

sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;
上面的查詢結(jié)構(gòu)集去掉 ONLY_FULL_GROUP_BY 選項(xiàng)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容