Mysql的安装

Mysql的安装

1.rpm的安装方式

1.rpm需要准备如下4个rpm安装包包
MySQL-client-5.6.50-1.el7.x86_64.rpm  #客户端
MySQL-devel-5.6.49-1.el7.x86_64.rpm	  #开发的
MySQL-server-5.6.50-1.el7.x86_64.rpm  #服务端
MySQL-shared-5.6.50-1.el7.x86_64.rpm  #分享端
2.在Linux中可以直接通过wget的方式进行下载
#wget https://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-client-5.6.50-1.el7.x86_64.rpm
#wget https://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-devel-5.6.50-1.el7.x86_64.rpm
#wget https://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-server-5.6.50-1.el7.x86_64.rpm
#wget https://mirrors.sohu.com/mysql/MySQL-5.6/MySQL-shared-5.6.50-1.el7.x86_64.rpm

2.yum的安装方式

1.配置好yum源头
2.直接进行安装
yum -y install mariadb-server mariadb #安装客户端合服务端
[root@localhost ~]# yum -y install mariadb-server mariadb
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装
---> 软件包 mariadb-server.x86_64.1.5.5.68-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================
 Package                          架构                     版本                             源                      大小
=========================================================================================================================
正在安装:
 mariadb                          x86_64                   1:5.5.68-1.el7                   base                   8.8 M
 mariadb-server                   x86_64                   1:5.5.68-1.el7                   base                    11 M

事务概要
=========================================================================================================================
安装  2 软件包

总下载量:20 M
安装大小:107 M
Downloading packages:
(1/2): mariadb-5.5.68-1.el7.x86_64.rpm                                                            | 8.8 MB  00:00:11     
(2/2): mariadb-server-5.5.68-1.el7.x86_64.rpm                                                     |  11 MB  00:00:14     
-------------------------------------------------------------------------------------------------------------------------
总计                                                                                     1.4 MB/s |  20 MB  00:00:14     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:mariadb-5.5.68-1.el7.x86_64                                                                        1/2 
  正在安装    : 1:mariadb-server-5.5.68-1.el7.x86_64                                                                 2/2 
  验证中      : 1:mariadb-server-5.5.68-1.el7.x86_64                                                                 1/2 
  验证中      : 1:mariadb-5.5.68-1.el7.x86_64                                                                        2/2 

已安装:
  mariadb.x86_64 1:5.5.68-1.el7                           mariadb-server.x86_64 1:5.5.68-1.el7                          

完毕!

3.源码的安装方式

编译三部曲

1.获取mysql源码包,源码目录下有一个makefile

2.进入mysql的目录下,执行make指令,自动读取makefile文件

3.make编译完成之后,执行make install安装,安装mysql到指定位置

下载源码包

上传解压安装包至opt目录下

[root@localhost opt]# ls
mysql-5.6.50  mysql-5.6.50.tar.gz  
[root@localhost opt]# 

编译安装准备

yum -y install \
gcc \
gcc-c++ \
ncurses \         #字符终端下图形互动功能的动态库
ncurses-devel \   #ncurses开发包
bison \           #语法分析器
cmake             #mysql需要用cmake编译安装
1.执行下面命令安装编译环境
#yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

创建mysql用户,便于管理

useradd -M -s /sbin/nologin  mysql

编译安装,通过cmake生成makefile,可以定制化安装

cd /opt/mysql-*/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       #指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                             #指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \            #指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                       #指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \           #指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \                     #指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \              #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             #安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            #安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \         #指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \                 #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1                                #生成便于systemctl管理的文件
1.进入目录执行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_EXTRA_CHARSETS=all \
-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=/usr/local/boost \
-DWITH_SYSTEMD=1

cmake报错

-- 
Cannot find appropriate system libraries for WITH_SSL=system.
Make sure you have specified a supported SSL version. 
Valid options are : 
system (use the OS openssl library), 
yes (synonym for system), 
</path/to/custom/openssl/installation>

CMake Error at cmake/ssl.cmake:66 (MESSAGE):
  Please install the appropriate openssl developer package.

Call Stack (most recent call first):
  cmake/ssl.cmake:260 (FATAL_SSL_NOT_FOUND_ERROR)
  CMakeLists.txt:483 (MYSQL_CHECK_SSL)


-- Configuring incomplete, errors occurred!
See also "/opt/mysql-5.6.50/CMakeFiles/CMakeOutput.log".
See also "/opt/mysql-5.6.50/CMakeFiles/CMakeError.log".

解决上面的问题需要安装如下,安装之后再执行就不会报错了
yum install -y openssl-devel

成功编译之后出现如下Configuring done,同时再该目录下就会生成一个makefile文件

-- Googletest was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
-- If you are inside a firewall, you may need to use an https proxy: export https_proxy=http://example.com:80
-- Library mysqlserver depends on OSLIBS -lpthread;m;/usr/lib64/libssl.so;/usr/lib64/libcrypto.so;dl;crypt
-- Skipping deb packaging on unsupported platform .
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- COMPILE_DEFINITIONS: _FILE_OFFSET_BITS=64;HAVE_CONFIG_H;HAVE_LIBEVENT2
-- CMAKE_C_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -Wno-ignored-qualifiers
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/mysql-5.6.50

[root@localhost mysql-5.6.50]# ls -l ./Makefile 
-rw-r--r--. 1 root root 71589 820 15:10 ./Makefile
[root@localhost mysql-5.6.50]# 

定制制化之后需要通过make 和make install 去安装

[root@localhost ~]#make -j 2 && make install  # -j 指定编译用几个核心CPU
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase_embedded.dir/buf/buf0buddy.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0buf.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase_embedded.dir/buf/buf0buf.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0dblwr.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase_embedded.dir/buf/buf0dblwr.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0checksum.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase_embedded.dir/buf/buf0checksum.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0dump.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase_embedded.dir/buf/buf0dump.cc.o
[ 28%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/buf/buf0flu.cc.o

在安装的目录下可以发现date是没有数据的,需要初始化

[root@localhost mysql]# cd scripts/
[root@localhost scripts]# ls
mysql_install_db
[root@localhost scripts]# cd ../data/
[root@localhost data]# ls
test
[root@localhost data]# 

mysql初始化工作

[root@localhost data]# /usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
解释
--initialize-insecure \    #生成初始化密码为空
--user=mysql \                      #指定管理用户
--basedir=/usr/local/mysql \        #指定数据库的安装目录
--datadir=/usr/local/mysql/data  #指定数据库文件的存储路径
初始化完之后有两个OK
2022-08-20 15:49:23 18649 [Note] InnoDB: Shutdown completed; log sequence number 1625977
OK
2022-08-20 15:49:24 18671 [Note] InnoDB: Shutdown completed; log sequence number 1625987
OK
初始化完成之后在data目录有
[root@localhost data]# ls -l
总用量 110600
-rw-rw----. 1 mysql mysql 12582912 820 15:49 ibdata1
-rw-rw----. 1 mysql mysql 50331648 820 15:49 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 820 15:49 ib_logfile1
drwx------. 2 mysql mysql     4096 820 15:49 mysql
drwx------. 2 mysql mysql     4096 820 15:49 performance_schema
drwxr-xr-x. 2 mysql mysql       20 820 15:23 test

准备启动mysql

配置启动脚本

1.要么自己写
2.mysql初始化自动生成的管理脚本,在support-files目录下
[root@localhost support-files]# ls -l
总用量 32
-rwxr-xr-x. 1 root root  1153 820 15:10 binary-configure
-rw-r--r--. 1 root root   773 923 2020 magic
-rw-r--r--. 1 root root  1126 820 15:10 my-default.cnf  #默认的my.cnf,可以拷贝到/etc/my.cnf
-rwxr-xr-x. 1 root root  1061 820 15:10 mysqld_multi.server
-rwxr-xr-x. 1 root root   894 820 15:10 mysql-log-rotate
-rwxr-xr-x. 1 root root 10565 820 15:10 mysql.server #启动脚本,shell脚本
3.执行cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
4.执行cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
5.给权限
chmod 777 /etc/init.d/mysqld

mysql启动

[root@localhost support-files]# /etc/init.d/mysqld start 
#出现如下错误
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
#上面报错是由于权限的问题
[root@localhost support-files]# ls -l /usr/local/mysql/
总用量 232
drwxr-xr-x.  2 root  root    4096 820 15:23 bin
drwxr-xr-x.  5 mysql mysql    159 820 16:09 data
drwxr-xr-x.  2 root  root      55 820 15:23 docs
drwxr-xr-x.  3 root  root    4096 820 15:23 include
drwxr-xr-x.  3 root  root    4096 820 15:23 lib
-rw-r--r--.  1 root  root  198041 923 2020 LICENSE
drwxr-xr-x.  4 root  root      30 820 15:23 man
-rw-r--r--.  1 root  root     943 820 15:47 my.cnf
-rw-r--r--.  1 root  root     943 820 15:49 my-new.cnf
drwxr-xr-x. 10 root  root    4096 820 15:24 mysql-test
-rw-r--r--.  1 root  root     587 923 2020 README
drwxr-xr-x.  2 root  root      30 820 15:23 scripts
drwxr-xr-x. 28 root  root    4096 820 15:24 share
drwxr-xr-x.  4 root  root    4096 820 15:24 sql-bench
drwxr-xr-x.  2 root  root     136 820 15:24 support-files
#解决,给权限
chown mysql.mysql /usr/local/mysql/ -R 
[root@localhost support-files]# /etc/init.d/mysqld start 
Starting MySQL. SUCCESS! 
[root@localhost support-files]# 

登入Mysql

上面已经将服务端已经安装好了

mysql -uroot -p
-u 接用户名
-p 后面跟密码
-P 后面跟端口
-h 后面跟主机

mysql 客户端添加环境变量

#在/etc/profile中添加
root@localhost support-files]# vim /etc/profile
#添加mysql客户端的环境变量
export PATH=$PATH:/usr/local/mysql/bin/
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin/
#看到如下命令就是已经登入到mysql
[root@localhost mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.50 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit

Mysql的安全配置

给mysql设置密码

通过mysqladmin可以设置数据库密码

[root@localhost ~]# mysqladmin -uroot -p password
Enter password: 
New password: 
Confirm new password: 
[root@localhost ~]# 

本文作者:迷茫的28岁

本文链接:https://www.cnblogs.com/zheng520/p/16670909.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   迷茫的28岁  阅读(15)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
  1. 1 岁月神偷 金玟岐
岁月神偷 - 金玟岐
00:00 / 00:00
An audio error has occurred.

作词 : 金玟岐

作曲 : 金玟岐

编曲 : 薛琳可

能够握紧的就别放了

能够拥抱的就别拉扯

时间着急的冲刷着

剩下了什么

原谅走过的那些曲折

原谅走过的那些曲折

原来留下的都是真的

纵然似梦啊半醒着

笑着哭着都快活 谁让~

时间是让人猝不及防的东西

时间是让人猝不及防的东西

晴时有风阴有时雨

争不过朝夕又念着往昔

偷走了青丝却留住一个你

岁月是一场有去无回的旅行

岁月是一场有去无回的旅行

好的坏的都是风景

别怪我贪心只是不愿醒

因为你只为你愿和我一起

看云淡风轻

能够握紧的就别放了

能够握紧的就别放了

能够拥抱的就别拉扯

时间着急的冲刷着

剩下了什么

原谅走过的那些曲折

原谅走过的那些曲折

原来留下的都是真的

纵然似梦啊半醒着

笑着哭着都快活 谁让~

时间是让人猝不及防的东西

时间是让人猝不及防的东西

晴时有风阴有时雨

争不过朝夕又念着往昔

偷走了青丝却留住一个你

岁月是一场有去无回的旅行

岁月是一场有去无回的旅行

好的坏的都是风景

别怪我贪心只是不愿醒

因为你只为你愿和我一起

看云淡风轻

时间是让人猝不及防的东西

时间是让人猝不及防的东西

晴时有风阴有时雨

争不过朝夕又念着往昔

偷走了青丝却留住一个你

岁月是一场有去无回的旅行

岁月是一场有去无回的旅行

好的坏的都是风景

别怪我贪心只是不愿醒

因为你只为你愿和我一起

看云淡风轻