1. 程式人生 > >mysql5.7 源碼安裝步驟

mysql5.7 源碼安裝步驟

user tor conn 相關 字符 error code soc sys

操作系統:centos 7

mysql版本:5.7 下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

說明:以下都是root用戶操作的。

一、數據庫安裝

1、查看系統是否有舊版的mysql

# rpm -qa |egrep -i mysql|mariadb

技術分享圖片

如果有的話請先卸載,卸載命令:

# rpm -ev 軟件包名稱

2、查看老版本mysql相關的安裝目錄:

# find / -name mysql

有的話就刪掉

3、創建/data/mysql目錄用於存放mysql軟件包,並下載軟件包

# mkdir -p /data/mysql
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

4、解壓軟件包並重命名

# cd /data/mysql
# tar zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.24

5、創建mysql用戶(如果原來已經存在該用戶,可以繼續使用,也可以重新刪除創建,刪除用戶命令: userdel -r mysql)

# groupadd mysql
# useradd -r -s /sbin/nologin -g mysql mysql
# getent passwd mysql #該命令用於查看是否成功創建mysql用戶
mysql:x:986:1001::/home/mysql:/sbin/nologin

7、修改/etc/my.cf文件

[mysqld]
basedir=/data/mysql/mysql-5.7.24               #新添加的,用於mysql初始化的時候去找相應的lib庫等等。
datadir=/data/mysql/mysql-5.7.24/data          #原配置修改的,存放數據的目錄
socket
=/data/mysql/mysql-5.7.24/mysql.sock #原配置修改的,mysql的sock文件 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/data/mysql/mysql-5.7.24/mysql.err-log #原配置修改的,mysql錯誤日誌存放路徑 character-set-server=utf8 #添加的,指定字符編碼 pid-file=/data/mysql/mysql-5.7.24/mysql.pid #原配置修改的,指定pid # # include all files from the config directory # !includedir /etc/my.cnf.d

7、創建數據目錄,日誌目錄等並授權

# cd /data/mysql/mysql-5.7.24
# mkdir data
# touch {mysql.sock,mysql.err-log,mysql.pid}
# chmod 755 data/ mysql.err-log mysql.pid mysql.sock
# chown -R mysql:mysql /data/mysql/mysql-5.7.24

8、數據庫初始化

# cd /data/mysql/mysql-5.7.24/bin/
# ./mysqld --initialize --user=mysql --basedir=/data/mysql/mysql-5.7.24 --datadir=/data/mysql/mysql-5.7.24/data

技術分享圖片

註:localhost:後面生成的是數據庫的密碼,請保存下來。

9、後臺啟動

# ./mysqld_safe --user=mysql &

10、查看進程,以確定是否啟動成功

# ps -ef |grep mysql
技術分享圖片

11、測試連接

# ./mysql -uroot -p
Enter password: # 剛剛生成的那個隨機密碼
在這裏出錯了,報錯如下:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2) 提示找不到sock文件,在這裏的話就去/etc/my.cnf文件裏面把socket這一行改成/tmp/mysql.sock吧,如下:
socket=/tmp/mysql.sock
然後重新啟動mysql,就可以正常進入到數據庫了。
技術分享圖片

12、修改環境變量

每次進入數據庫都要去bin目錄執行對應的腳本,所以,這裏設置環境變量更方便一點

# vim ~/.bashrc
文件最後添加如下兩行:

export MYSQL_HOME=/data/mysql/mysql-5.7.24/
export PATH=$PATH:${MYSQL_HOME}/bin

技術分享圖片

# source ~/.bashrc

13、配置mysql的啟動

# cp /data/mysql/mysql-5.7.24/support-files/mysql.server /etc/init.d/mysql
# vim /etc/init.d/mysql
修改如下兩行的值,這兩行默認為空。
技術分享圖片

以後就可以通過/etc/init.d/mysql start方式啟動數據庫了

技術分享圖片

好了,基本安裝就算完成了。

二、數據庫修改密碼和授權

修改數據庫密碼,剛剛生成的密碼不太好記,所以我們這裏修改一個自己熟悉的比較好記的密碼,我這裏測試,密碼就設置的比較簡單,生成環境建議設置的復雜一些;

第一種修改root密碼的方式:(用mysqladmin命令行工具)

# mysqladmin -uroot -p 舊密碼 password 新密碼
例:mysqladmin -uroot -p ‘Pnh=?_Edg2+V‘ password ‘123456‘

第二種方式:(登錄數據庫,用set password方式)

mysql> set password for 用戶名@localhost = password(新密碼);
例:mysql> set password for root@localhost = password(123);
技術分享圖片

第三種方式:(用update直接修改user表)

mysql>use mysql;
mysql>update user set password=password(1234) where user=root and host=localhost;
mysql>flush privileges;

第四種方法:如果剛剛生成的隨機密碼忘記了怎麽辦?

解決:

# mysqld --skip-grant-tables #啟動mysql服務的時候跳過權限表認證。註:這個窗口不會關閉,需要重新開啟另外一個端口進行操作,執行這個命令的時候我這裏報錯了,如下:
[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
解決:打開/etc/my.cnf,在mysqld下面添加user=mysql就ok
在另外一個端口執行mysql進入數據庫控制臺
# mysql
mysql>use mysql
mysql>update user set password=password("123456789") where user="root";

mysql>flush privileged

2、遠程授權

進入數據庫
# mysql -u root -p
mysql>grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123‘ with grant option;
mysql>flush privileges;

mysql5.7 源碼安裝步驟