搭建mysql服务的脚本

---恢复内容开始---

#!/bin/bash

# 安装依赖包
yum -y install cmake make gcc gcc-c++ libaio ncurses ncurses-devel
# 判断mysql安装包是否存在,若存在,则解压后将mysql二进制包移动到/usr/local/下 cd
/usr/local/src

if [ ! -f mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz ] ; then
    echo '没有对应的mysql包!'
    exit 1
fi

tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql

# 创建mysql用户和用户组 groupadd mysql useradd
-r -g mysql mysql
# 初始化数据库,以及修改mysql目录所有文件的所属者和所属组 cd
/usr/local/mysql chown -R mysql:mysql ./
# 使用错误输入重定向将包含密码的提示信息写入passwd文件中,至于为什么是错误输入重定向才能写入,我也搞不懂。。。
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 2> passwd.txt
# 取出密码,注意这里awk不能用双引号,要不然不会进行截取分割。。
passwd=`cat passwd.txt | grep 'localhost:' | awk '{print $NF}'`
chown
-R mysql:mysql ./
# 配置my.cnf文件
# 不开启sql严格模式 添加sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" echo "[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock lower_case_table_names = 1 log-error=/var/log/mysqld.log pid-file=/usr/local/mysql/data/mysqld.pid" > /etc/my.cnf
# 添加开机启动脚本 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld sed -i '46s#=#=/usr/local/mysql#' /etc/init.d/mysqld sed -i '47s#=#=/usr/local/mysql/data#' /etc/init.d/mysqld
# 启动mysql,并添加开机启动 service mysqld start chkconfig
--add mysqld
# 创建软连接,便于使用命令
ln -s /usr/local/mysql/bin/mysql /usr/bin

# 界面中显示数据库密码
echo $passwd

 

然后使用界面显示的数据库密码登录,并修改密码

alter user root@localhost identified by '123qqq...A';
flush privileges;

 

posted @ 2019-03-22 14:52  dalichenpingan  阅读(307)  评论(0编辑  收藏  举报