mysql编译安装脚本(附详解)
目錄
一.下載安裝包
二.安裝腳本
三.登錄
一.下載安裝包
注:選二進制版本,64位
二.安裝腳本
先將壓縮包下載下來,用xftp傳進來
#!/bin/bash #解決軟件的依賴關(guān)系 #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 #關(guān)閉firewalld防火墻服務,并且設置開機不要啟動 service firewalld stop systemctldisable firewalld #臨時關(guān)閉selinux setenforce 0 #永久關(guān)閉selinux sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config #新建存放數(shù)據(jù)的目錄 mkdir /data/mysql -p #修改/data/mysql目錄的權(quán)限歸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指定數(shù)據(jù)庫存放路徑 ##初始化的時候會產(chǎn)生一些輸出,里面有臨時密碼,將其重定向到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=$(命令)優(yōu)先執(zhí)行命令,然后將結(jié)果賦值給abc#修改PATH變量,加入mysql bin目錄的路徑 #臨時修改PATH變量的值 export PATH=/usr/local/mysql/bin/:$PATH #重新啟動linux系統(tǒng)后也生效,永久修改 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 #監(jiān)聽哪個端口 port = 3306 #文件描述符 open_files_limit =8192 #innodb是mysql緩存引擎占用內(nèi)存大小,越大運行越快 innodb_buffer_pool_size = 512M character-set-server=utf8[mysql] auto-rehash prompt=\\u@\\d \\R:\\m mysql> EOF #修改內(nèi)核的open file的數(shù)量 ulimit -n 1000000 #設置開機啟動的時候也配置生效 echo "ulimit -n 1000000" >/etc/rc.local chmod +x /etc/rc.d/rc.local#啟動mysqld進程 service mysqld start#將mysqld添加到linux系統(tǒng)里服務管理名單里/sbin/chkconfig --add mysqld #設置mysqld服務開機啟動 /sbin/chkconfig mysqld on#初次修改密碼需要使用--connect-expired-password選項 #-e后面接的表示是在mysql里需要執(zhí)行命令execute執(zhí)行 #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為啥要創(chuàng)建對應的用戶和用戶組?
讓mysql運行的時候使用一個獨立的賬號,如果mysql被黑了那么開始拿到的權(quán)限就是那個創(chuàng)建的賬號而不是默認的root
當系統(tǒng)中文件的權(quán)限未設定給Mysql用戶以及用戶組時,Mysql用戶無法進行讀寫執(zhí)行操作。而如果MySQL被黑了,可以通那么開始拿到的權(quán)限就是那個創(chuàng)建的賬號而不是默認的root,在MySQL啟動的時候,單進程mysqld,該進程的屬主就是mysql,這樣就保證了mysql服務的獨立性,即使mysql服務被黑掉,得到了mysql用戶權(quán)限,也不會影響整個系統(tǒng)的安全。
2、mysql_ssl_rsa_setup簡介
Mysql之加密連接mysql_ssl_rsa_setup_恒悅sunsite的博客-CSDN博客_mysql_ssl_rsa_setup
??mysql5.7之前的版本是不提供ssl安全連接的,其在網(wǎng)絡中數(shù)據(jù)都是以明文進行傳輸?shù)摹ysql_ssl_rsa_setup程序用于創(chuàng)建 SSL 證書和密鑰文件以及 RSA 密鑰對文件,以支持使用 SSL 的安全連接和使用 RSA 通過未加密連接的安全密碼交換(如果這些文件丟失)。 如果現(xiàn)有的 SSL 文件已經(jīng)過期,mysql_ssl_rsa_setup也可用于創(chuàng)建新的 SSL 文件。MySQL5.7默認是開啟SSL連接,如果強制用戶使用SSL連接,那么應用程序的配置也需要明確指定SSL相關(guān)參數(shù),否則程序會報錯。
三.登錄
1,執(zhí)行完成腳本后要重新登錄才會重新加載改的變量
su - root
2,登錄mysql
mysql -uroot -p'Sanchuang123'
總結(jié)
以上是生活随笔為你收集整理的mysql编译安装脚本(附详解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件测试】回归测试的策略
- 下一篇: 打印查询到的mysql_从mysql查询