安装mysql
前言
所谓数据库,顾名思义就是存数据的仓库 懂了吧 没事删删库 戴戴小手铐
1.1安装环境
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
1.2添加mysql管理用户
useradd -s /sbin/nologin mysql
1.3把mysql包上传解压
###上传mysql-boost-5.7.20.tar.gz到opt目录下###
cd /opt
tar xf mysql-boost-5.7.20.tar.gz
cmake配置
cd /opt/mysql-5.7.20/
##########cmake配置############
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
1.4编译安装
[root@localhost ]# make
[root@localhost ]# make install
1.5数据库目录进行权限调整
[root@localhost ]# chown -R mysql:mysql /usr/local/mysql/
1.6建立调整配置文件,里面有命令的话就全部删掉复制下面的代码粘贴进去!
vi /etc/my.cnf
########配置文件###############
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
1.7权限调整一下
[root@localhost ]# chown mysql:mysql /etc/my.cnf
1.8设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile ### 申明全局环境变量
source /etc/profile ### 使加入的数据生效,使mysql的相关命令识别
########进入mysql目录#########
cd /usr/local/mysql/
##########初始化数据库,使用mysql进行初始化#############
bin/mysqld \
--initialize-insecure \ #初始化命令
--user=mysql \ #指定用户
--basedir=/usr/local/mysql \ #指定工作目录
--datadir=/usr/local/mysql/data #指定数据存放位置
############将mysql的服务脚本从软件内复制到/lib/systemd/system中##################
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#######开启服务在设置开机启动#######
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
netstat -anpt | grep 3306
cd /usr/local/bin/ ###先进去bin目录下在设置密码
######设置登录数据库密码#######
mysqladmin -u root -p password //回车后在回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的
#######登录数据库#######
[root@localhost mysql]# mysql -u root -p
Enter password: #### 输入刚刚设置的密码
....
mysql> quit
Bye
Shell脚本
#!/bin/bash
#
# 设置MySQL管理员账号密码
PASSWORD=123456
clear
# 判断脚本执行者是否为root用户
if [ "`whoami`" != "root" ];then
echo "请用以root用户身份执行该脚本!"
exit 1
fi
# 交互提示是否确认进行安装
echo "------欢迎使用MySQL 5.6版一键安装脚本 V1.0------"
echo "注意事项:"
echo "1.在安装过程中请保证网络畅通!"
echo "2.请使用source命令执行脚本"
echo ""
while true;do
read -p "是否进行开始安装?(y/n)" a
if [ $a = y ];then
echo "开始为您安装MySQL5.6..."
break
elif [ $a = n ];then
echo "已取消安装"
exit 1
else
echo "输入有误,请重新输入!"
fi
done
# MySQL安装开始
yum -y install ncurses-devel gcc-c++ perl-Module-Install expect
cd /opt
tar zxvf mysql-5.6.36.tar.gz
tar zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
gmake && gmake install
cd /opt/mysql-5.6.36
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYCONFDIR=/etc
make && make install
cd /opt/mysql-5.6.36
/usr/bin/expect <<-EOF
spawn cp support-files/my-default.cnf /etc/my.cnf
expect {
"?"
{send "yes\r";}
}
EOF
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
chown -R mysql.mysql /usr/local/mysql
mkdir -p /data/mysql
/usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--user=mysql
systemctl enable mysqld --now
#免交互设置MySQL管理员密码
/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password "$PASSWORD"
expect {
":"
{send "\r";}
}
expect eof
EOF
echo "MySQL 5.6 已安装!"
好了 安装完了 跑了