標籤:

Linux安裝MySQL解決的一些問題

Linux安裝MySQL解決的一些問題

秉承菜鳥原則,閱讀菜鳥文檔,菜鳥文檔地址如下;在學習過程中遇到一些無記錄的錯誤;

MySQL 安裝 | 菜鳥教程

版本】

CentOs】

1,這一步時,先點擊該鏈接查看.rpm版本是否存在,記錄版本名稱再使用wget進行下載;

2,使用wget命令時,如果失敗,可能是未安裝wget, 【yum -y install wget 下載wget】;

1,注意Linux和MySQL的版本,某些版本的MySQL服務data目錄已存在數據,所以創建失敗

vi /etc/my.cnf , 查看data目錄是否存在文件內容信息;得到【datadir】路徑信息;

vim /etc/my.cnf[root@localhost mysql]# vi /etc/my.cnf# For advice on how to change settings please see# 5.1.2 Server Configuration Defaults[mysqld]## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2M## Remove leading # to revert to previous value for default_authentication_plugin,# this will increase compatibility with older clients. For background, see:# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin# default-authentication-plugin=mysql_native_passworddatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid "/etc/my.cnf" 30L, 1188C

2,

cd /var/lib/mysql ,進入該目錄;查看文件信息;(可直接跳過);

rm -rf xx;清空目錄下所有信息;

mysqld initialize,初始化mysql 成功;

ERROR 2002 (HY000): Can』t connect to local MySQL server through socket 『/var/lib/mysql/mysql.sock』 (2)

1,查找/var/lib/mysql是否存在mysql.lock文件,cd /var/lib/mysql && ls -l 無文件

2,解決方法【登錄mysql出現/var/lib/mysql/mysql.sock不存在 - okstill - 博客園】

4.1 service mysqld stop (停止服務)

4.2 rm -fr /var/lib/mysql/* (刪除/var/lib/mysql下的所有文件)

4.4 killall mysqld (殺死所有mysqld進程)

4.5 service mysql start (啟動mysql服務。)

補充進程命令替換4.4【ps aux | grep mysql 】,強行終止當前用戶使用得進程[kill -9 xx]

再次MySQL,提示密碼錯誤,有兩種方法,下面是最直接得一種;

編輯/etc/my.cnf 末尾加上skip-grant-tables【免密登陸】

出現mysql>說明成功進入MySQL;

剛才通過設置/etc/my.cnf文件來免密登陸,在生產環境是不行得,所以要配置用戶密碼;

(mysql密碼要求【不低於8位,必須有數字,(大小)字母,特殊字元,】)

第二種方法,【grep temporary password /var/log/mysqld.log】

[root@localhost mysql]# grep temporary password /var/log/mysqld.log2018-07-06T09:21:46.580093Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,-fY)u_&j0yC

密碼就是host:後面部分(動態密碼保存在lysqld日誌內部,用此密碼可不配置免密登陸);

1,登陸後,查看資料庫【SHOW DATABASE;】

提示修改臨時密碼,否則不能查看成功;下方是網站例子,輸入後提示命令與版本發生錯誤;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near mysqladmin -u root password "25752575&Yzp" at line 1

2,使用命令【ALTER user root@localhost IDENTIFIED BY 25752575&Yzp;】

更新後的密碼登陸成功,sql命令正常使用無錯誤信息;

推薦閱讀:

MySQL 5.5 多實例 主從複製非同步、半同步實踐(1)
第三代DRDS分散式SQL引擎全新發布
深入理解二階段提交協議(DDB對XA懸掛事務的處理分析)(一)
Python對資料庫進行簡單操作
你的事務到底提交成功沒有?

TAG:MySQL | 科技 | Linux |