這是我在騰訊雲上安裝mysql的一些記錄node
系統版本:CentOS Linux release 7.4.1708 (Core)mysql
mysql版本:mysql-5.7.25-linux-glibc2.12linux
1、安裝前:sql
1.1 檢查linux系統版本:[root@VM_0_14_centos ~]# cat /etc/system-release數據庫
1.2 檢查是否安裝了mysql:[root@VM_0_14_centos ~]# rpm -qa | grep mysql (我機子安裝了mysql後再執行該命令,仍是什麼都沒找到。。。)vim
卸載已安裝的mysql:[root@VM_0_14_centos ~]# rpm -e --nodeps mysqlcentos
2、下載、安裝mysql微信
2.1 軟件來源:socket
[root@VM_0_14_centos ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 編碼
或者:連接:https://pan.baidu.com/s/17CyWUAL3cKJ8WK-haFiGtA 提取碼:pv68
2.2 解壓安裝包、重命名爲mysql並將其移動至/usr/local/mysql
2.3 添加系統用戶
添加 mysql 組和 mysql 用戶:
添加 mysql 組:[root@VM_0_14_centos ~]# groupadd mysql
添加 mysql 用戶:[root@VM_0_14_centos ~]# useradd -r -g mysql mysql
擴展:
查看是否存在 mysql 組:[root@VM_0_14_centos ~]# more /etc/roup | grep mysql
查看 msyql 屬於哪一個組:[root@VM_0_14_centos ~]# groups mysql
查看當前活躍的用戶列表:[root@VM_0_14_centos ~]# w
2.3 檢查是否安裝libaio
[root@VM_0_14_centos ~]# rpm -qa | grep libaio
若沒有則安裝
版本檢查:[root@VM_0_14_centos ~]# yum search libaio
安裝:[root@VM_0_14_centos ~]# yum -y install libaio
2.4 安裝mysql
建立mysql配置文件:
建立/etc/my.cnf 並將並寫入配置文件:
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#設置3306端口
port = 3306
socket=/usr/local/mysql/mysql.sock
# 設置mysql的安裝目錄
basedir=/usr/local/mysql
# 設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/data
# 容許最大鏈接數
max_connections=200
# 服務端使用的字符集默認爲8比特編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的默認存儲引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
在/usr/local/mysql 文件夾內建立data文件夾,用來存放數據
修改當前目錄擁有者爲 mysql 用戶:[root@VM_0_14_centos ~]# chown -R mysql:mysql ./
初始化:[root@VM_0_14_centos mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化後,系統會自動爲mysqlroot用戶賦予一個臨時密碼:紅圈中就是,必定要記住,第一次登陸後要用的
3、配置
4.1 設置開機啓動
a. 複製啓動腳本到資源目錄:[root@VM_0_14_centos mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
b. 增長 mysqld 服務控制腳本執行權限:[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
c. 將 mysqld 服務加入到系統服務:[root@localhost mysql]# chkconfig --add mysqld
d. 檢查mysqld服務是否已經生效:[root@localhost mysql]# chkconfig --list mysqld
命令輸出相似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
代表mysqld服務已經生效,在二、三、四、5運行級別隨系統啓動而自動啓動,之後可使用 service 命令控制 mysql 的啓動和中止。
查看啓動項:chkconfig --list | grep -i mysql
刪除啓動項:chkconfig --del mysql
e. 啓動 mysqld:[root@localhost mysql]# service mysqld start
報錯:
解決:socket 沒找到,八成是/etc/my.cnf中sock配置得有問題, 這樣配:socket=/usr/local/mysql/mysql.sock
配置文件改完後再次啓動mysql:service mysqld start 就OK了
在登陸mysql時再次報錯:
執行登陸命令時,系統默認會查找/usr/bin下的命令,若是這個命令不在這個目錄下,固然會找不到命令,咱們須要作的就是映射一個連接到/usr/bin目錄下。
這個是由於/usr/local/bin目錄下缺失mysql致使,只須要一下方法創建軟連接,便可以解決:
把mysql安裝目錄,好比/usr/local/mysql/bin/mysql,映射到/usr/bin目錄下:
而後再登陸mysql,又報錯:
找不到套接字了,首先要知道這個mysql.sock是幹嗎的:
鏈接localhost一般經過一個Unix域套接字文件進行,通常是/tmp/mysql.sock。若是套接字文件被刪除了,本地客戶就不能鏈接。這可能發生在你的系統運行一個cron任務刪除了/tmp下的臨時文件。
解決:先執行:[root@VM_0_14_centos ~]# find / -name mysql.sock
若是能夠查找到, 作個軟鏈接就行了
[root@VM_0_14_centos tmp]# ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
4.2 配置環境變量:
vim /etc/profile
加上這一句:export PATH = $PATH:/usr/local/mysql/bin
4.3 更改密碼、配置容許外網鏈接:
這時就能夠登上去了,可是登錄後沒法進行任何操做,且外網也沒法鏈接到該mysql:
改密碼三步:
1: SET PASSWORD = PASSWORD('your new password');
2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
3: flush privileges;
設置外網可連:
END!
想了解更多Python關於爬蟲、數據分析的內容,歡迎你們關注個人微信公衆號:悟道Python