非root使用者在CentOS7下安裝MySQL5.7
阿新 • • 發佈:2020-11-23
一、建立MySQL使用者
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
注意:切換使用者時如果報錯
This account is currently not available.
用cat看看 mysql 的帳號資訊
cat /etc/passwd | grep mysql
發現它的shell是“/sbin /nologin”,需要改成“/bin/bash”
vim /etc/passwd
修改完畢後,儲存退出
二、下載MySQL 5.7二進位制包
下載頁面:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
OS選擇:linux generic,按照系統版本下載。
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
解壓:
tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
三、配置MySQL
例如把mysql資料放在data/mysql目錄,建立目錄。
mkdir -pv data/mysql
建立錯誤日誌唯一指定路徑
cd mysql
mkdir err
四.編輯my.cnf配置檔案
編輯my.cnf配置檔案,放在當前mysql安裝目錄下,依次執行以下命令
$ cd mysql #進入安裝目錄
$ vim my.cnf #編輯配置檔案
編輯my.cnf檔案
我的mysql的路徑是/home/mysql/mysql,需根據自己的路徑進行修改
[client] port=3306 #服務埠 socket=/home/mysql/mysql/mysql.sock #指定套接字檔案 [mysql] port=3306 #服務埠 socket=/home/mysql/mysql/mysql.sock [mysqld] port=3306 #服務埠 basedir=/home/mysql/mysql #mysql安裝路徑 datadir=/home/mysql/data/mysql #資料目錄 pid-file=/home/mysql/mysql/mysql.pid #指定pid檔案 socket=/home/mysql/mysql/mysql.sock #指定套接字檔案 log_error=/home/mysql/mysql/err/error.log #指定錯誤日誌 server-id=100 #Mysql主從唯一標識 [mysqld_safe] socket=/home/mysql/mysql/mysql.sock #指定套接字檔案
非root使用者配置環境變數
注意:這一步適用於非root使用者安裝,其他步驟一樣
1.設定使用者環境變數vi .bash_profile 或者是 vi ~/.bashrc
Java:
vim .bash_profile
export JAVA_HOME=/home/java/jdk1.8.0_45
export JAVA_BIN=/home/java/jdk1.8.0_45/bin
export JRE_HOME=/home/java/jdk1.8.0_45/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source .bash_profile
Mysql:
vim .bash_profile
export PATH=$PATH:/home/mysql/bin
source .bash_profile
五.安裝啟動mysql
安裝:依次執行以下命令,指定配置檔案安裝並初始化mysql,沒有報錯即安裝成功
$ cd bin
$ ./mysqld --defaults-file=/home/mysql/mysql/my.cnf --initialize --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/data/mysql #安裝並初始化mysql
啟動:依次執行以下命令,沒有報錯並能成功監聽3306埠即表示啟動成功
./mysql -u root -p -S /home/apps/mysql/mysql.sock
netstat -antlp|grep 3306
如果提示
執行下面的命令進行安裝
yum -y install net-tools
檢視程序
ps -ef|grep mysql
六.登入mysql
獲取初始密碼,初始密碼在error.log日誌檔案內,執行以下命令
cd /home/mysql/mysql/bin
less error.log|grep root@localhost
2.登入mysql,直接輸入登入命令 bin/mysql -u root -p 有可能會報以下錯
有兩種解決方法
如果本機上沒有其他資料庫,可以通過軟連線方式將尋找sock檔案的路徑指向我們mysql安裝目錄下的sock檔案
也可以直接指定mysql.sock檔案啟動,執行以下命令:
./mysql -u root -p -S /home/mysql/mysql/mysql.sock
3.成功登入mysql後,修改登入密碼,執行以下sql語句
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root'); --設定登入密碼為root
flush privileges;
七.開啟遠端訪問
1.使用第三方工具連線mysql資料庫時,需要提前開啟mysql的遠端訪問限制,執行以下sql語句
use mysql; --切換至mysql資料庫
select User,authentication_string,Host from user; --檢視使用者認證資訊
2.修改許可權,允許其他地址的主機訪問mysql,這裡密碼是root,實際根據自己的來,%代表所有主機,也可以具體到ip地址
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
再次查表可以發現多了個使用者,表示成功開啟遠端訪問,可以使用工具遠端連線
select User,authentication_string,Host from user;