mysql编译安装脚本(附详解)
目錄
一.下載安裝包
二.安裝腳本
三.登錄
一.下載安裝包
注:選二進制版本,64位
二.安裝腳本
先將壓縮包下載下來,用xftp傳進來
#!/bin/bash #解決軟件的依賴關系 #ncurses-compat-libs測試可用 yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y #解壓mysql二進制安裝包 tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz #移動mysql解壓后的文件到/usr/local下改名叫mysql mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql #新建組和用戶mysql groupadd mysql #mysql這個用戶的shell 是/bin/false屬于mysql組 useradd -r -g mysql -s /bin/false mysql #關閉firewalld防火墻服務,并且設置開機不要啟動 service firewalld stop systemctldisable firewalld #臨時關閉selinux setenforce 0 #永久關閉selinux sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config #新建存放數據的目錄 mkdir /data/mysql -p #修改/data/mysql目錄的權限歸mysql用戶和mysql組所有,這樣mysql用戶可以對這個文件夾進行讀寫了 chown mysql:mysql /data/mysql/ #只是允許mysql這個用戶和mysql組可以訪問,其他人都不能訪問 chmod 750 /data/mysql/ #進入/usr/local/mysql/bin目錄 cd /usr/local/mysql/bin/ #初始化mysql #--initialize初始化--basedir安裝路徑--datadir指定數據庫存放路徑 ##初始化的時候會產生一些輸出,里面有臨時密碼,將其重定向到passwd.txt文件中 ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>passwd.txt #讓mysql支持ssl方式登錄的設置 ./mysql_ssl_rsa_setup --datadir=/data/mysql/ #正則匹配獲得臨時密碼 tem_passwd=$(cat passwd.txt |grep "temporary" |awk '{print $NF}') #$NF表示最后一個字段 #abc=$(命令)優先執行命令,然后將結果賦值給abc#修改PATH變量,加入mysql bin目錄的路徑 #臨時修改PATH變量的值 export PATH=/usr/local/mysql/bin/:$PATH #重新啟動linux系統后也生效,永久修改 echo 'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc#復制support-files里的mysql.server文件到/etc/init.d/目錄下叫mysqld #因為mysql官方提供了這樣一個腳本可以用來使用service啟動mysql cp ../support-files/mysql.server /etc/init.d/mysqld#修改/etc/init.d/mysqld腳本文件里的datadir目錄的值 sed -i '70c datadir=/data/mysql' /etc/init.d/mysqld#生成/etc/my.cnf配置文件 cat >/etc/my.cnf <<EOF [mysqld_safe][client] socket=/data/mysql/mysql.sock[mysqld] #socket文件的路徑 socket=/data/mysql/mysql.sock #監聽哪個端口 port = 3306 #文件描述符 open_files_limit =8192 #innodb是mysql緩存引擎占用內存大小,越大運行越快 innodb_buffer_pool_size = 512M character-set-server=utf8[mysql] auto-rehash prompt=\\u@\\d \\R:\\m mysql> EOF #修改內核的open file的數量 ulimit -n 1000000 #設置開機啟動的時候也配置生效 echo "ulimit -n 1000000" >/etc/rc.local chmod +x /etc/rc.d/rc.local#啟動mysqld進程 service mysqld start#將mysqld添加到linux系統里服務管理名單里/sbin/chkconfig --add mysqld #設置mysqld服務開機啟動 /sbin/chkconfig mysqld on#初次修改密碼需要使用--connect-expired-password選項 #-e后面接的表示是在mysql里需要執行命令execute執行 #set password='Sanchuang123#';修改root用戶的密碼為Sanchuang123# mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='Sanchuang123#';"#登錄 mysql -uroot -p'Sanchuang123' -e 'show databass;'1,Linux下安裝Mysql為啥要創建對應的用戶和用戶組?
讓mysql運行的時候使用一個獨立的賬號,如果mysql被黑了那么開始拿到的權限就是那個創建的賬號而不是默認的root
當系統中文件的權限未設定給Mysql用戶以及用戶組時,Mysql用戶無法進行讀寫執行操作。而如果MySQL被黑了,可以通那么開始拿到的權限就是那個創建的賬號而不是默認的root,在MySQL啟動的時候,單進程mysqld,該進程的屬主就是mysql,這樣就保證了mysql服務的獨立性,即使mysql服務被黑掉,得到了mysql用戶權限,也不會影響整個系統的安全。
2、mysql_ssl_rsa_setup簡介
Mysql之加密連接mysql_ssl_rsa_setup_恒悅sunsite的博客-CSDN博客_mysql_ssl_rsa_setup
??mysql5.7之前的版本是不提供ssl安全連接的,其在網絡中數據都是以明文進行傳輸的。mysql_ssl_rsa_setup程序用于創建 SSL 證書和密鑰文件以及 RSA 密鑰對文件,以支持使用 SSL 的安全連接和使用 RSA 通過未加密連接的安全密碼交換(如果這些文件丟失)。 如果現有的 SSL 文件已經過期,mysql_ssl_rsa_setup也可用于創建新的 SSL 文件。MySQL5.7默認是開啟SSL連接,如果強制用戶使用SSL連接,那么應用程序的配置也需要明確指定SSL相關參數,否則程序會報錯。
三.登錄
1,執行完成腳本后要重新登錄才會重新加載改的變量
su - root
2,登錄mysql
mysql -uroot -p'Sanchuang123'
總結
以上是生活随笔為你收集整理的mysql编译安装脚本(附详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件测试】回归测试的策略
- 下一篇: C++自定义文件压缩/解压的实现