文章目录
-
-
-
- 编译之前的环境配置
- 使用cmake生产makefile,用于编译安装
- [使用make进行编译,make install进行安装](#使用make进行编译,make install进行安装)
- mysql初始化
- 启动mysql****
- 设置mysql的环境变量
- 登入mysql,设置密码
- mysql安全配置
-
-
主要分为三部:生成、编译 编译安装
编译之前的环境配置
bash
#安装依赖包
[root@db01 ~]# yum install -y ncurses-devel libaio-devel cmake gcc wget
#创建数据库使用用户
[root@db01 ~]# useradd -r -s /sbin/nologin mysql
#下载源数据
[root@db01 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.38.tar.gz
#解压源数据包
[root@db01 ~]# tar xf mysql-5.6.38.tar.gz
使用cmake生产makefile,用于编译安装
此过程时间会比较长,一般在十几分钟左右
bash
[root@db01 mysql-5.6.38]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.38 \
-DMYSQL_DATADIR=/app/mysql-5.6.38/data \
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.38/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
# -DCMAKE_INSTALL_PREFIX 指定数据的源目录 会自动创建
# -DMYSQL_DATADIR 指定数据库的数字写到哪里
# -DDEFAULT_CHARSET 指定使用的语言格式
PS:结束之后在mysql-5.6.38查看会有makefile文件
使用make进行编译,make install进行安装
bash
[root@db01 mysql-5.6.38]# make && make install
注意看提示信息,不可以有error出现,到这里就安装好了
#创建软连接方便后续的升级管理
[root@db01 mysql-5.6.38]# ln -s /app/mysql-5.6.38/ /app/mysql
[root@db01 app]# ls
mysql mysql-5.6.38
#创建mysql启动时需求的套接字文件 存放pid
[root@db01 app]# mkdir /app/mysql-5.6.38/tmp
mysql初始化
初始化使用工具,在/app/mysql-5.6.38/scripts/下
bash
#进行初始化
[root@db01 app]# cd mysql-5.6.38/scripts/
[root@db01 scripts]# ls
mysql_install_db
#以下初始化命令 初始化成果之后一定要出现2个OK
[root@db01 scripts]# ./mysql_install_db --basedir=/app/mysql/ --datadir=/app/mysql/data --user=mysql
#给文件归属权限到mysql
chown -R mysql.mysql /app/
#--basedir= 指定源目录 这里指像已经做软连接的目录
#--datadir= 指定数据存放位置
#--user= 指定数据库使用用户
启动mysql****
bash
#进入mysql的目录,找到support-files下,是mysql初始化自动生成的管理脚本
[root@db01 mysql-5.6.38]# ls
bin data include man mysql-test scripts sql-bench tmp
COPYING docs lib my.cnf README share support-files
#复制启动脚本使用
[root@db01 mysql-5.6.38]# cp support-files/mysql.server /etc/init.d/mysqld
#/etc/init.d/ 是系统自动启动的脚本,复制过去 mysqld是可以自定义的服务名字
#给脚本执行权限
[root@db01 mysql-5.6.38]# chmod 700 /etc/init.d/mysqld
#复制mysql启动时所需要的配置文件my.cnf
[root@db01 mysql-5.6.38]# cp support-files/my-default.cnf /etc/my.cnf
y 覆盖
#启动mysql
[root@db01 mysql-5.6.38]# /etc/init.d/mysqld start
my.cnf 和 mysqld文件不需要进行修改,这些文件的配置内容是依据我们初始化的数据自动已经生成了,复制了就可以继续使用
设置mysql的环境变量
bash
[root@db01 ~]# vim /etc/profile
#添加以下的内容
export PATH=/app/mysql/bin:$PATH
#加载环境变量
[root@db01 ~]# source /etc/profile
#检查环境变量是否生效
[root@db01 ~]# echo $PATH
/app/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
登入mysql,设置密码
mysql是C/S架构的,有服务端和客户端,可以在不同的主机上,也可以在同一台主机上
bash
#使用客户端进行连接mysql,完成数据的增删改查
语法: mysql -uroot -p
[root@db01 ~]# mysql -uroot -p
Enter password: #默认是空密码的,直接回车就可以进入
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.38 Source distribution
Copyright (c) 2000, 2017, 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> Ctrl-C -- exit!
Aborted
mysql安全配置
使用mysqladmin进行修改配置密码
bash
mysqladmin -urrot -p password
#设置新密码
[root@db01 ~]# mysqladmin -uroot -p password
Enter password: 输入默认密码 直接回车
New password: 输入新密码
Confirm new password: 再次输入新密码
[root@db01 ~]# mysql -uroot -p
Enter password: 输入设置的新密码进入