請幾天連接sql數據庫的時候,由於當初因為服務屬性的問題創建許多的sql服務,沒想到今天給我帶來麻煩。
關於網上有人說長時間連接數據庫會出錯,但實際上除了占用大量的系統資源之外,就沒什么危害了,除非連接數據庫長達8個小時后數據庫會自動斷開,在下次登錄時要修改wait_time值,不過我的問題不是連接時間過長導致的,我也沒咋研究,這里不多講。
不同的sql數據庫版本不一樣,里面的配置文件也有不同,就比如bin同級目錄下,有的版本有my.ini、my-huge.ini、my-large.ini等等文件,有的只有my.ini文件,有的甚至沒有,這個只是mysql的配置文件,標准內容如下:
[mysqld] # 設置3306端口 port=3306 # 設置mysql的安裝目錄 basedir=C:\Program Files\MySQL\MySQL Server 8.0 # 設置mysql數據庫的數據的存放目錄 datadir=C:\Program Files\MySQL\MySQL Server 8.0\data # 允許最大連接數 max_connections=200 # 允許連接失敗的次數。 max_connect_errors=10 # 服務端使用的字符集默認為utf8 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 默認使用“mysql_native_password”插件認證 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [client] # 設置mysql客戶端連接服務端時默認使用的端口 port=3306 default-character-set=utf8
這里復制粘貼的時候注意basedir和datadir的值都是自己Mysql的安裝路徑。
這里有個好玩的漏洞吧,Windows10系統盤(默認C盤)里的文檔修改后是不可以保存的,除非真正的管理員才行,但是可以將文檔剪切到其他盤進行修改保存后,復制到系統盤是可以的。
我的問題就是Mysql的服務出錯,最后解決方法就是刪除原有服務以及相關文件——初始化Mysql——新建服務——連接數據庫。
(1)cmd執行
sc delete '服務名'
然后在Mysql里刪除data文件,后期新建服務會自動生成的。
(2)初始化Mysql
以管理員身份運行cmd到bin下
mysqld --initialize --console
初始化后Mysql的密碼會被隨機生成,記住那串復雜的密碼,登錄時需要
(3)新建服務
也是bin下執行
mysqld --install [服務名] ###(服務名可以不加默認為mysql)
新建成功后執行
net start mysql
后面的mysql是默認值,可以在新建的時候更改。服務已成功建立后,基本就完事了。后面就是更改密碼了。
(4)連接數據庫+更改密碼
用Navicat連接試試
沒有特殊情況下會連接成功
那么下一步,更改密碼;
cmd執行
mysql -u root -p
然后輸入初始化的密碼
alter user 'root'@'localhost' identified by 'your_password';
記住你更改的密碼,最好收藏或者手機筆記啥的,不然很容易忘的。
創建遠程操作賬戶,進行遠程訪問的授權,並更新權限,依次執行以下代碼:
create user 'root'@'%' identified with mysql_native_password by '123456'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
當然了,雙擊剛剛保存的連接,Navicat會提示新密碼。
好好管理你們的電腦。
規范!
規范!
再規范!