操作系統:CentOs 7.7
MySQL版本:MySQL-5.7.25-x86_64
安裝步驟:
-
查找並卸載
mariadb
# 查找當前系統下是否有mariadb [root@kiwi4814 ~]$ rpm -qa | grep mariadb # 卸載 mariadb-libs-5.5.64-1.el7.x86_64 [root@kiwi4814 ~]$ rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
-
卸載原有的
mysql
相關# 查找當前系統是否有mysql [root@kiwi4814 ~]$ rpm -qa | grep mysql # 刪除配置文件 [root@kiwi4814 ~]$ rm /etc/my.cnf # 查找是否存在mysql用戶組和用戶 [root@kiwi4814 ~]$ cat /etc/group | grep mysql [root@kiwi4814 ~]$ cat /etc/passwd | grep mysql
-
創建
mysql
用戶和組# 創建用戶組 [root@kiwi4814 ~]$ groupadd mysql # 創建用戶 [root@kiwi4814 ~]$ useradd -g mysql mysql # 修改用戶密碼 [root@kiwi4814 ~]$ passwd mysql Changing password for user mysql. New password: Retype new password: passwd: all authentication tokens updated successfully.
-
將
mysql
離線安裝文件上傳到服務器上(1)下載地址及文件位置
(2)上傳到服務器的/usr/local/
目錄下
scp /localurl/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz root@host:/usr/local/
-
解壓並建立軟鏈接
# 注意:5的操作均在此目錄下進行 [root@kiwi4814 ~]$ cd /usr/local/ # 解壓 [root@kiwi4814 local]$ tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz # 創建軟鏈接 [root@kiwi4814 local]$ ln -s mysql-5.7.25-linux-glibc2.12-x86_64 mysql # 賦予mysql用戶權限 [root@kiwi4814 local]$ chown -R mysql:mysql mysql/
-
創建相關文件,賦予
mysql
用戶權限# 分別創建data tmp log文件夾 # 此目錄可自行指定,不過要和mysql配置文件中相一致 [root@kiwi4814 ~]$ mkdir -p /home/kiwi4814/mysql/{data,tmp,log} # 賦權 [root@kiwi4814 ~]$ cd /home/kiwi4814/ [root@kiwi4814 kiwi4814]$ chown -R mysql:mysql mysql/
-
創建並修改配置文件
# 這裏選擇將配置文件放在/etc下面,也可以放在mysql根目錄下 [root@kiwi4814 ~]$ cd /etc # 創建並編輯my.cnf [root@kiwi4814 etc]$ vi my.cnf
這裏給出一份配置文件作爲參考:
[mysql] default-character-set = utf8mb4 [mysqld] # ---------------- Basic ---------------- server_id = 100 port = 3306 basedir = /usr/local/mysql datadir = /home/kiwi4814/mysql/data socket = /tmp/mysql.sock skip-host-cache skip_name_resolve lower_case_table_names = 1 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci init_connect = 'SET NAMES utf8mb4' query_cache_size = 0 query_cache_type = 0 sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER # ---------------- Connection/File/Table ---------------- max_connections = 10000 max_connect_errors = 20000 interactive_timeout = 1800 wait_timeout = 1800 lock_wait_timeout = 1800 max_allowed_packet = 1024M # ---------------- log ---------------- log-bin=/home/kiwi4814/mysql/log/mysql-bin log_error = /home/kiwi4814/mysql/log/error.log binlog_format = ROW expire_logs_days = 8
-
安裝
mysql
(要先安裝依賴)# 安裝相關依賴,否則會報錯,此處不再演示離線安裝方式,需要的自行查閱 [root@kiwi4814 ~]$ yum install libaio* # 進入到mysql /bin 目錄 [root@kiwi4814 ~]$ cd /usr/local/mysql/bin/ # 初始化mysql,指定用戶爲mysql # 此處如果日誌中配置了log_error,則控制檯不會打印數據 [root@kiwi4814 bin]$ ./mysqld --initialize --user=mysql
-
設置開機啓動
# 進入應用根目錄 [root@kiwi4814 ~]$ cd /usr/local/mysql/ # 複製啓動腳本到資源目錄 [root@kiwi4814 mysql]$ cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld # 增加mysqld服務控制腳本執行權限 [root@kiwi4814 mysql]$ chmod +x /etc/rc.d/init.d/mysqld # 將mysqld服務加入到系統服務 [root@kiwi4814 mysql]$ chkconfig --add mysqld # 檢查mysqld服務是否已經生效 [root@kiwi4814 mysql]$ chkconfig --list mysqld
-
切換至
mysql
用戶,設置環境變量# 切換至mysql用戶 [root@kiwi4814 ~]$ su - mysql # 修改配置文件,增加export PATH=$PATH:/usr/local/mysql/bin [mysql@kiwi4814 ~]$ vi .bash_profile # 刷新配置文件使其立即生效 [mysql@kiwi4814 ~]$ source .bash_profile
-
啓動服務
# 仍然在mysql用戶下,啓動mysql(啓動用start) [mysql@kiwi4814 ~]$ service mysqld restart # 重啓的時候報警告 Shutting down MySQL..[ OK ] rm: cannot remove '/var/lock/subsys/mysql': Permission denied Starting MySQL.[ OK ] # 切回root用戶,賦權即即可 [mysql@kiwi4814 ~]$ su - root [root@kiwi4814 ~]$ cd /var/lock/ [root@kiwi4814 lock]$ chown -R mysql:mysql subsys/ # 切回mysql重啓,成功。 [mysql@kiwi4814 ~]$ service mysqld restart Shutting down MySQL..[ OK ] Starting MySQL.[ OK ]
-
修改
mysql
默認密碼並設置遠程連接-- 修改密碼 set password for root@localhost=password("root"); flush privileges; -- 遠程連接 use mysql; update user set host='%' where user='root'; flush privileges;