linux 安装mysql脚本自动安装

最近发现linux安装mysql 太费劲  所以写了一个脚本  直接运行简单省事,我就先抛砖引玉了,欢迎各位优化。

提示:本shell脚本 只支持Centos7 ,mysql版本5.7 ,mysql 会自动安装在"/usr/local/mysql"

创建:createMysql.sh  脚本内容如下

#!/bin/sh
##########
#centos7 install mysql5.7
#by wang 20210902
##########
#下载
##下载 提示:本脚本只支持centos 7 安装MySQL版本5.7
#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-el7-x86_64.tar.gz
REMOVE=`rpm -qa | grep -i mariadb-libs`
#编译
yum remove $REMOVE -y
yum install libaio -y
mkdir -p /home/work/software
cd /home/work/software
#下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-el7-x86_64.tar.gz
tar xf mysql-5.7.21-el7-x86_64.tar.gz
mv mysql-5.7.21-el7-x86_64 mysql
mv mysql /usr/local/
useradd -s/sbin/nlogin -M mysql
id mysql
mkdir /usr/local/mysql/{data,log}
chown -R mysql.mysql /usr/local/mysql/
#编辑my.cnf
cat << EOF > /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
 
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data/
pid-file = /usr/local/mysql/data/mysql.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
log-bin=mysql-bin
#####====================================[innodb]==============================
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
 
#####====================================[log]==============================
log_error = /usr/local/mysql/log/mysql-error.log 
slow_query_log = 1
long_query_time = 1 
slow_query_log_file = /usr/local/mysql/log/mysql-slow.log
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF
 
#编译
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
#授权
chown -R mysql:mysql /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
cp /usr/local/mysql/bin/* /usr/local/sbin/
cd /lib/systemd/system
wget http://ftp.zxblinux.com:8082/hjgj/mysql.service
systemctl daemon-reload
## 启动服务并查看
/etc/init.d/mysql start
netstat -lntup|grep mysql
grep "password" /usr/local/mysql/log/mysql-error.log 

备注:如果出现如下

是因为我的ftp已经关了 就是这个“wget http://ftp.zxblinux.com:8082/hjgj/mysql.service” 开机启动配置文件, 你们吧这个注释掉就可以了

执行脚本:

sh  createMysql.sh

执行脚本成功后显示Mysql 端口:

  注意:默认会生成一串随机密码,“root@localhost:” 后面都为密码

修改密码:

#先登录,输入如上图密码
[root@root opt]# mysql -uroot -p
Enter password: 

#输入设置密码123456
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

#刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

验证:

show database;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

回显数据库名则安装成功!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值