首先我們在linux系統(tǒng)上安裝mysql,本文默認linux系統(tǒng)可以聯(lián)網(wǎng)或者已經(jīng)掛載光盤iso了,我們使用命令 apt-get install mysql-server 命令進行安裝,安裝完成后,查看mysql是否啟動,執(zhí)行命令 ps -e |grep mysql。
成都創(chuàng)新互聯(lián)公司專注于河源企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站開發(fā)。河源網(wǎng)站建設(shè)公司,為河源等地區(qū)提供建站服務(wù)。全流程按需設(shè)計網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
驗證初始是否允許遠程連接,由于本次虛擬機IP為192.168.2.120,因此我們執(zhí)行mysql -h 192.168.20.120 -P 3306 -u root -proot(備注:-proot,root指root賬號的密碼),可以得到結(jié)果連接不上。
假如我們不采用遠程連接,可以連接上,命令為:mysql -u root -proot。
接下來,我們連接上數(shù)據(jù)庫,執(zhí)行命令use mysql;使用mysql數(shù)據(jù)庫。
并查看用戶表信息,執(zhí)行命令為:select Host,User from user。
執(zhí)行結(jié)果如下圖所示。
通過上面步驟可以得到數(shù)據(jù)表 user內(nèi)的值,下面我們對表進行更新記錄允許遠程訪問,
執(zhí)行命令為:update user set Host='%' where User ='root' limit 1;
(該條命令意思為更新user表內(nèi)User值為root的第一條記錄的Host值設(shè)置為%)更新完成后,執(zhí)行上一步查詢命令進行驗證
執(zhí)行強制刷新命令flush privileges;
執(zhí)行完畢后,關(guān)閉數(shù)據(jù)庫連接。
更改mysql安裝目錄下的my.cnf文件。
一般默認路徑在/etc/mysql/下,找到bind-address = 127.0.0.1 這一行,可以對其進行刪除,注釋或者將127.0.0.1更改為0.0.0.0,修改完畢后保存。
重啟mysql,命令為service mysql restart。進行遠程登陸測試,可以看到已經(jīng)允許遠程連接了。
在剖析服務(wù)器性能的過程中,慢查詢是一個很好的工具。
我們可以通過設(shè)置slow_query_log來開啟慢查詢?nèi)罩荆琹ong_query_time屬性來設(shè)置慢查詢定義閾值,設(shè)置slow_query_log_file來定義慢查詢?nèi)罩镜拇鎯ξ募?/p>
當(dāng)前環(huán)境是windows10,Mysql8.0.15版本。
show global variables like 'slow_query%'
show global variables like 'long_query%'
set global slow_query_log_file='F:ATempslowly.log'
set global long_query_time=2,單位為秒,可以通過設(shè)置long_query_time為0 來捕獲所有的查詢。
select sleep(3);
生成的日志:
C:Program FilesMySQLMySQL Server 8.0binmysqld.exe, Version: 8.0.15 (MySQL Community Server - GPL). started with:
TCP Port: 3306, Named Pipe: MySQL
Time Id Command Argument
# Time: 2021-05-19T14:38:24.960151Z
# User@Host: root[root] @ localhost [::1] Id: 14
# Query_time: 3.000456 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
use env;
SET timestamp=1621435101;
select sleep(3)
LIMIT 0, 1000;
包含的信息包括執(zhí)行查詢的用戶,查詢的語句以及發(fā)起時間等。
正在學(xué)習(xí),如果有誤或不足,請指出交流。
1、編輯MySQL(和PHP搭配之最佳組合)配置文件: windows環(huán)境中:%MySQL_installdir%\my.ini //一般在MySQL安裝目錄下有my.ini即MySQL的配置文件。 linux環(huán)境中:/etc/my.cnf 在[MySQLd]配置段添加如下一行: skip-grant-tables 保存退出編輯。 2、然后重啟MySQL服務(wù) windows環(huán)境中: net stop MySQL net start MySQL linux環(huán)境中: /etc/init.d/MySQLd restart 3、設(shè)置新的ROOT密碼 然后再在命令行下執(zhí)行: MySQL-uroot -p MySQL 直接回車無需密碼即可進入數(shù)據(jù)庫了。 現(xiàn)在我們執(zhí)行如下語句把root密碼更新為7758521: update user set password=PASSWORD("7758521") where user='root'; quit 退出MySQL。 4、還原配置文件并重啟服務(wù) 然后修改MySQL配置文件把剛才添加的那一行刪除。 再次重起MySQL服務(wù),密碼修改完畢。 用新密碼7758521試一下吧,又能登入MySQL的感覺就是不一樣吧?
采納哦
mysql中怎么修改collation
【問題報錯】
在數(shù)據(jù)庫插入數(shù)據(jù)時,varchar 類型的字段插入中文數(shù)據(jù)時報錯。
報錯原文:
【原因分析】
通過 show full columns from user_bean;語句查看字段的collation屬性,發(fā)現(xiàn)字段的collation屬性值是 latin1_swedish_ci ,說明字段默認為英語。未對漢語進行設(shè)置,所以當(dāng)輸入漢語時,mysql會報錯為“字符串的值不正確”。
【解決方法】
1、編輯mysql的配置文件 /etc/my.cnf,vi /etc/my.cnf
在 [mysqld] 下面加入兩行補充
2、重啟Mysql服務(wù) systemctl restart mysqld
向數(shù)據(jù)庫插入含中文的數(shù)據(jù),成功!
注意:上面步驟可以解決以后創(chuàng)建表時字段的collation屬性的問題,但前面已經(jīng)創(chuàng)建的表字段的collation屬性值并不會發(fā)生變化。
如果要改變之前已經(jīng)創(chuàng)建好的表,怎么辦?
方法1:對原來的表進行修改,可以通過類似語句
alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;
方法2:刪除原來的表,重新再建。
【命令總結(jié)】
首先打開MySQL數(shù)據(jù)庫MySQL Workbench 6.3 CE,這個是MySQL數(shù)據(jù)庫的管理工具
2
點擊Server Status
3
管理界面上則顯示了MySQL的服務(wù)狀態(tài)
4
紅色圈出內(nèi)容即為MySQL的配置文件my.ini,而且往下拉也有各種文件的具體位置和數(shù)據(jù)的存儲位置,這樣看來就一目了然了
5
接下來我們就根據(jù)界面上所顯示的位置,例如小編的位置就是C:\ProgramData\MySQL\MySQL Server5.7\my.ini,在文件資源管理器的地址來輸入,就可以跳轉(zhuǎn)到文件所在位置,此步應(yīng)根據(jù)自己的MySQL安裝位置來操作。如果直接輸入地址,提示錯誤信息,此時只要輸入C:\ProgramData\,(視自己的安裝位置而定)再對應(yīng)找就行了
6
打開文件就可以對端口、文件存儲位置等各種配置信息進行修改,修改之后重啟數(shù)據(jù)庫服務(wù)
mysql動態(tài)修改配置參數(shù)分兩種:
會話session:只對當(dāng)前會話產(chǎn)生影響,退出mysql后失效;
全局GLOBAL:對后面的連接都有效,不過在重啟mysql后失效。
step:
用root賬號登錄mysql命令行;
查看參數(shù)配置情況:
show variables; #顯示全部參數(shù)。
show variables like '%wait%'; #顯示包含wait的參數(shù)。
show session varialbes; #顯示會話參數(shù)
show global varialbes; #顯示全局參數(shù)
set session wait_timeout=10; #當(dāng)前會話生效。
set GLOBAL wait_timeout = 10; #全局生效。
如果想要永久修改參數(shù),則同時在/etc/my.cnf配置文件修改。