Linux普通用戶安裝配置mysql(非root權限)
說明:在實際工作中,公司內網的機器我們一般沒有root權限,也沒有連網,最近參考網上的資料使用一般的賬戶成功安裝mysql,記錄如下
Linux版本:RedHat CentOs
Mysql版本:5.7.29
使用的一般用戶名:apps
一、下載安裝包
進入mysql官網下載社區通用版 MySQL Community Server,不清楚系統多少位的,執行以下命令查看
$ cat /proc/version #查看系統版本等信息
二、解壓安裝包
-
mysql下載完成后上傳到當前普通用戶目錄下解壓,依次執行以下命令
$ tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz #解壓文件包 $ mv mysql-5.7.29-linux-glibc2.12-x86_64 /home/apps/mysql #移動到指定目錄並重命名
-
編輯my.cnf配置文件,放在當前mysql安裝目錄下,依次執行以下命令
$ cd mysql #進入安裝目錄 $ vim my.cnf #編輯配置文件
-
編輯my.cnf文件,我這里mysql的路徑是
/home/apps/mysql
,需根據自己的路徑進行修改[client] port=3306 #服務端口 socket=/home/apps/mysql/mysql.sock #指定套接字文件 [mysqld] port=3306 #服務端口 basedir=/home/apps/mysql #mysql安裝路徑 datadir=/home/apps/mysql/data #數據目錄 pid-file=/home/apps/mysql/mysql.pid #指定pid文件 socket=/home/apps/mysql/mysql.sock #指定套接字文件 log_error=/home/apps/mysql/error.log #指定錯誤日志 server-id=100 #Mysql主從唯一標識
三、安裝啟動mysql
-
安裝:依次執行以下命令,指定配置文件安裝並初始化mysql,沒有報錯即安裝成功
$ cd bin $ ./mysqld --defaults-file=/home/apps/mysql/my.cnf --initialize --user=apps --basedir=/home/apps/mysql --datadir=/home/apps/mysql/data #安裝並初始化mysql
-
啟動:依次執行以下命令,沒有報錯並能成功監聽3306端口即表示啟動成功
$ ./mysqld_safe --defaults-file=/home/apps/mysql/my.cnf --user=apps & #啟動mysql $ netstat -tln | grep 3306 #查看是否成功監聽3306端口
四、登入mysql
-
獲取初始密碼,初始密碼在error.log日志文件內,執行以下命令
$ cd .. $ less error.log | grep root@localhost #查找root用戶的初始登錄密碼
-
登錄mysql,直接輸入登錄命令
bin/mysql -u root -p
有可能會報以下錯上圖錯誤表示mysql沒有找到
/tmp/mysqk.sock
文件有兩種解決方法
-
如果本機上沒有其他數據庫,可以通過軟連接方式將尋找sock文件的路徑指向我們mysql安裝目錄下的sock文件
-
也可以直接指定mysql.sock文件啟動,執行以下命令:
$ ./mysql -u root -p -S /home/apps/mysql/mysql.sock #指定sock文件登錄
-
-
成功登入mysql后,修改登錄密碼,執行以下sql語句
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); --設置登錄密碼為123456 flush privileges;
五、開啟遠程訪問
-
使用第三方工具連接mysql數據庫時,需要提前開啟mysql的遠程訪問限制,執行以下sql語句
use mysql --切換至mysql數據庫 select User,authentication_string,Host from user; --查看用戶認證信息
查表后可以看到都是localhost的訪問權限
-
修改權限,允許其他地址的主機訪問mysql,這里密碼是123456,實際根據自己的來,%代表所有主機,也可以具體到ip地址
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; --允許其他主機訪問 flush privileges;
再次查表可以發現多了個用戶,表示成功開啟遠程訪問,可以使用工具遠程連接
select User,authentication_string,Host from user
至此,我們的mysql就算安裝完成了