首先去官网查看mysql版本。才一个礼拜不到,我之前下载的是mysql5.7.23,现在在官网页面已然找不到了,只有5.7.24版本,不得不说更新真快。不过我下载的是mysql5.7.23,所以还是安装的是5.7.23

下载地址:https://www.mysql.com/downloads/

下载页面

----------------------->  

下载下来后,比较坑的是。竟然没有源码编译安装的版本了,只有二进制版本。好吧,安装确实也比编译安装快了。。。。。

也是写了脚本来安装,自从shell脚本入门后,就要多尝试写脚本,加深印象。虽写的很low,希望之后装mysql8.0能复用

  1 #!/usr/bin/bash
2 #lion
3 #2018-10-20
4 #install mysql
5
6 . common/color.sh
7 . common/download.conf
8
9 files_prefix=('mysql' 'python' 'vim')
10 soft_path=/soft
11 mysql_install_path=/usr/local/mysql
12 mysql_lib_path=/var/lib/mysql
13 cmake_package='cmake-3.12.3.tar.gz'
14 cmake_ver='cmake-3.12.3'
15 mysql_ver='mysql-5.7.23-linux-glibc2.12-x86_64'
16 mysql_file=$(ls | grep -i ${files_prefix[0]})
17 yum_list='sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git lsof ncurses-devel perl-Module-Build.noarc libaio'
18 yum_install()
19 {
20 for i in ${yum_list};do
21 yum -y install ${i}
22 done
23 }
24 check_package()
25 {
26 my=$(ls | grep -i ${files_prefix[0]})
27 py=$(ls | grep -i ${files_prefix[1]})
28 vm=$(ls | grep -i ${files_prefix[2]})
29}
30 Download_files()
31 {
32 Echo_blue "[+]Begin download install Package...."
33 [ ! -d "${soft_path}" ] && mkdir ${soft_path}
34 cd ${soft_path}
35 sleep 2
36 check_package
37 if [ -z ${my} ];then
38 wget -c ${Mysql_download}
39 if [ $? -eq 0 ] ;then
40 Echo_green "Mysql Package download sucessful!"
41 else
42 Echo_red "Download failure.Try it again"
43 exit 1
44 fi
45 else
46 Echo_red "The Package is existed"
47 fi
48 #[ ! -f ${cmake_package} ] && wget -c ${cmake_download}
49 }
50 Check_db()
51 {
52 Echo_yellow "[+]Check db is or not installed....."
53 sleep 1
54 if [ -z $(rpm -qa | grep mariadb) ]; then
55 Echo_white "No db is installed.Will install New DB"
56 else
57 Echo_gray "[+]Rmoving old db......."
58 sleep 1
59 rpm -e --nodeps $(rpm -qa | grep mariadb)
60 fi
61 }
62 add_user()
63 {
64 cat /etc/passwd | grep mysql &> /dev/null
65 [ $? -ne 0 ] && useradd mysql
66 }
67 add_path()
68 {
69 [ ! -d ${mysql_install_path} ] && mkdir ${mysql_install_path}
70 [ ! -d ${mysql_lib_path} ] && mkdir ${mysql_lib_path}
71 chown -R mysql:mysql ${mysql_lib_path}
72 }
73
74 tar_gz()
75 {
76 local FileName=$1
77 local DirName=$2
78 cd ${soft_path}
79 if [ ! -f ${FileName} ];then
80 Echo_red "The ${FileName} does not exist"
81 else
82 Echo_blue '[+]Begin uncompress files...'
83 tar zxvf ${FileName}
84 cd ${DirName}
85 fi
86 }
87 cmake_install()
88 {
89 tar_gz ${cmake_package} ${cmake_ver}
90 ./bootstrap
91 gmake -j `grep 'processor' /proc/cpuinfo | wc -l `
92 make install
93 }
94
95 tar_mysql()
96 {
97 tar_gz ${my} ${mysql_ver}
98 # cmake -DCMAKE_INSTALL_PREFIX=${mysql_install_path} -DMYSQL_DATADIR=${mysql_lib_path} -DSYSCONFDIR=/etc
99 # make;make install
100 mv * ${mysql_install_path}
101 cd ${soft_path} && rm -rf ${mysql_ver}
102 }
103
104 init_mysql()
105 {
106 Echo_blue 'mysql initialize'
107 [ -d ${mysql_lib_path} ] && cd ${mysql_lib_path} && rm -rf *
108 cd ${mysql_install_path}
109 ./bin/mysqld --initialize --user=mysql --datadir=${mysql_lib_path}
110 ./bin/mysql_ssl_rsa_setup --datadir=${mysql_lib_path}
111 }
112 set_start()
113 {
114 cd ${mysql_install_path}
115 cp support-files/mysql.server /etc/init.d/mysql
116 ln /usr/local/mysql/bin/mysql /usr/bin/mysql
117 }
118 db_install()
119 {
120 #yum_install
121 Download_files
122 Check_db
123 Echo_aqua "Begin install Mysql 5.7.23"
124 sleep 1
125 add_user
126 add_path
127 # cmake_install
128 tar_mysql
129 init_mysql
130 set_start
131 [ $? -eq 0 ] && Echo_green 'Mysql 5.7.23 initialize successful'
132 }
133 db_install 2>&1 | tee /root/mysql_install.log
Mysql_download='https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz'
Python_download='https://www.python.org/ftp/python/3.7.2/Python-3.7.1.tar.xz'
cmake_download='https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz'

脚本运行效果

说明:mysql初始化后,会提供一个临时密码。需要记录下来

mysql 启动成功,但是进mysql的时候,报错

原因是my.cnf里[mysql] 和[client] 没有指定socket路径。很坑爹的是,我安装的这版连my.cnf也没有了。还是到网上下的模板

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin # These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /var/lib/mysql
port = 3306
# server_id = .....
socket = /tmp/mysqld.sock # Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
explicit_defaults_for_timestamp=true [client]
default-character-set = utf8
socket = /tmp/mysqld.sock [mysql]
default-character-set = utf8
socket = /tmp/mysqld.sock

sql_mode没有指定的话,初始化的时候会有警告

开启查询缓存

explicit_defaults_for_timestamp=true

第一次进mysql,用临时密码进去后,会提示更改密码

mysql> SET PASSWORD = PASSWORD('123456') ;

Query OK, 0 rows affected, 1 warning (0.01 sec)

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

好像在8.0版本重设密码是,以后要实践一下

mysql> SET PASSWORD = '123456';

Query OK, 0 rows affected (0.01 sec)

至此简单的mysql就安装完毕。当然还有很多配置,需要在my.cnf中去配置。

学以致用二十七-----Centos7.5二进制安装mysql5.7.23的更多相关文章

  1. Linux(CentOS7)下二进制安装MySQL5.7.26

    记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...

  2. CentOS7.5二进制安装MySQL-5.6.40

    安装依赖 yum install -y gcc gcc-c++ automake autoconf yum -y install cmake bison-devel ncurses-devel lib ...

  3. Linux CentOS7.5上二进制安装MySQL5.7.23

    1.下载二进制文件 cd /usr/local/src/ wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glib ...

  4. 学以致用十六-----Centos7.2编译安装mysql5.6.22

    一.系统环境 二.卸载系统自带的mariadb rpm -qa | grep db rpm -e --nodeps mariadb-libs-5.5.60 rpm -e --nodeps mariad ...

  5. centos7.6自动化安装mysql5.5

    一.目的 简化安装mysql的安装过程,局限很大,仅支持centos7.6上安装mysql5.5.60,如果想在其他版本的操作系统安装mysql,请自行修改有关变量. 如果想了解mysql安装的具体过 ...

  6. 阿里云Centos7使用yum安装MySQL5.6的正确姿势

    阿里云Centos7使用yum安装MySQL5.6 阿里云Centos7使用yum安装MySQL5.6 前言:由于某些不可抗力,我要在自己的阿里云服务器上搭建hadoop+hive+mysql+tom ...

  7. CentOS7使用yum安装mysql5.7

    提前说一下,网速不好不要用yum安装,等得时间太长. 第一步.获取yum源 [root@youxi1 ~]# rpm -ivh https://repo.mysql.com/yum/mysql-5.7 ...

  8. CentOS7 通过YUM安装MySQL5.7 linux

    CentOS7 通过YUM安装MySQL5.7 1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep  ...

  9. CentOS7利用docker安装MySQL5.7

    CentOS7利用docker安装MySQL5.7 前提条件 centos7 且内核版本高于3.10, 可通过以下命令查看内核版本 uname -r 利用yum 安装docker 安装一些必要的系统工 ...

随机推荐

  1. IDEA查看类继承关系及生成类关系图

    1.在想要查看的类上按 Ctrl + H -> Diagrams -> Show Diagrams -> Java Class Diagrams -> Show Impleme ...

  2. 如何查看安装python和numpy的版本

    命令行下查看python和numpy的版本和安装位置 1.查看python版本 方法一: python -V 注意:‘-V‘中‘V’为大写字母,只有一个‘-’ 方法二: python --versio ...

  3. Scrum Meeting 博客目录

    秘制牛肉团队 Scrum Meeting 博客汇总 一.Alpha阶段 团队第一次 # scrum meeting 团队第二次 # scrum meeting 团队第三次 # scrum meetin ...

  4. 一、python基本语法元素(温度转换)

    #C=(F-32)/1.8 ; F = C * 1.8 + 32 TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['f','F ...

  5. oracle 序列sequence

    查询所有的序列: select 'create sequence '||sequence_name|| ' minvalue '||min_value|| ' maxvalue '||max_valu ...

  6. Linux 查看内存使用情况

    1 . top  : 用于实时显示 process 的动态 PID:进程的ID USER:进程所有 PR:进程的优先级别,越小越优先被执 VIRT:进程占用的虚拟内 RES:进程占用的物理内 SHR: ...

  7. 【函数】isinstance内建函数(小窗help)

    #学到了第八天,还有很多没有理解,不过,没关系,相信任何复杂的问题都是由简单的组成,只有将每一个细节理解到位,自然问题迎刃而解 今天遇到了isinstace函数,忘了,先看一下语法 查百度附上链接:h ...

  8. 分布式计算课程补充笔记 part 2

    ▶ 并行计算八字原则:负载均衡,通信极小 ▶ 并行计算基本形式:主从并行.流水线并行.工作池并行.功能分解.区域分解.递归分治 ▶ MPI 主要理念:进程 (process):无共享存储:显式消息传递 ...

  9. ios黑科技

    1.brew brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, mysql等,可以用来快速搭建各种本地环境 ...

  10. 【原】The Linux Command Line - Redirection

    ● cat - Concatenate files● sort - Sort lines of text● uniq - Report or omit repeated lines● grep - P ...