Shell离线脚本安装mysql、更新密码
目錄
手動操作
Shell腳本操作
手動操作
CentOS7的yum源中默認(rèn)好像是沒有mysql的。為了解決這個問題,我們要先下載mysql的repo源。
1. 下載mysql的repo源
wget?http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2. 安裝mysql-community-release-el7-5.noarch.rpm包
sudo?rpm?-ivh?mysql-community-release-el7-5.noarch.rpm安裝這個包后,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3. 安裝mysql
sudo?yum?install?mysql-server根據(jù)步驟安裝就可以了,不過安裝完成后,沒有密碼,需要重置密碼。
4. 啟動myslq
service mysql start# 設(shè)置開機(jī)啟動 systemctl enable mysqld.service5. 重置密碼
重置密碼前,首先要登錄
mysql?-u?root登錄時有可能報這樣的錯:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的訪問權(quán)限問題。下面的命令把/var/lib/mysql的擁有者改為當(dāng)前用戶:
sudo?chown?-R?openscanner:openscanner?/var/lib/mysql然后,重啟服務(wù):
service?mysqld?restart接下來登錄重置密碼:
mysql?-u?root mysql?>?use?mysql; mysql?>?update?user?set?password=password(‘123456‘)?where?user=‘root‘; mysql?>?exit;6. 登錄
mysql -hlocalhost -uroot -p-h數(shù)據(jù)庫主機(jī) -u用戶 -p密碼 -P端口號(大寫P)Shell腳本操作
1. 首先下載離線包(正常5.6版本12個離線包)
yum --downloadonly --downloaddir=/opt/mysql install mysql-devel mysql-server2. 安裝離線包
rpm -ivh /opt/mysql/*.rpm --force --nodeps3. 啟動mysql并設(shè)置開機(jī)啟動
service mysql start# 設(shè)置開機(jī)啟動 systemctl enable mysqld.service4. shell(version==5.6)
#!/bin/sh# @author: 爸爸 # @created: 2021.06.22mysql_username="root" mysql_password="" default_mysql_password="123456" chage_mysql_password="update user set password=password('$default_mysql_password') where user='root';" update_mysql_password="flush privileges;"mysql -u $mysql_username $mysql_password <<EOF use mysql; $chage_mysql_password $update_mysql_password exit EOF if [ $? -eq 0 ];thenecho -e "\033[36;1mInstall and update mysql success! \033[0m" elseecho -e "\033[36;1mInstall and update mysql fail! \033[0m" fi(version==5.7)
#!/bin/sh# @author: zhaoyun # @created: 2021.06.22mysql_cnf="/etc/my.cnf" mysql_passwd="asdasd234234"init_one(){cat /dev/null > $mysql_cnfecho "[mysqld]" >> $mysql_cnfecho "datadir=/var/lib/mysql" >> $mysql_cnfecho "socket=/var/lib/mysql/mysql.sock" >> $mysql_cnfecho "symbolic-links=0" >> $mysql_cnfecho "log-error=/var/log/mysqld.log" >> $mysql_cnfecho "pid-file=/var/run/mysqld/mysqld.pid" >> $mysql_cnfecho "skip-grant-tables=1" >> $mysql_cnf }init_two(){cat /dev/null > $mysql_cnfecho "[mysqld]" >> $mysql_cnfecho "datadir=/var/lib/mysql" >> $mysql_cnfecho "socket=/var/lib/mysql/mysql.sock" >> $mysql_cnfecho "symbolic-links=0" >> $mysql_cnfecho "log-error=/var/log/mysqld.log" >> $mysql_cnfecho "pid-file=/var/run/mysqld/mysqld.pid" >> $mysql_cnf }init_one service mysqld restart mysql -uroot <<EOF flush privileges; ALTER USER 'root'@'localhost' IDENTIFIED BY '$mysql_passwd'; quit EOF if [ $? -eq 0 ];thenecho -e "\033[36;1m[+] Install and update mysql success! \033[0m" elseecho -e "\033[36;1m[-] Install and update mysql fail! \033[0m" fi init_two service mysqld restart5. 創(chuàng)建數(shù)據(jù)庫,已有就刪除
#!/bin/sh# @author: 爸爸 # @created: 2021.06.22if [ `id -u` -ne 0 ] then echo "[-] Please re-run as root." exit 1 firecreate_aaaaaa() {mysql -h 127.0.0.1 -uroot -p1234 2>/dev/null <<EOFdrop database if exists aaaaaa;create database aaaaaa; EOF }echo "[+] create aaaaaa database" recreate_aaaaaa;總結(jié)
以上是生活随笔為你收集整理的Shell离线脚本安装mysql、更新密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次阿里云服务器CPU长期100%发现
- 下一篇: 解决Redis之MISCONF Redi