当前位置:首页 > Mysql > 正文内容

MySQL简介及安装

5年前 (2019-09-02)Mysql501


MySQL安装


1. rpm、yum安装

安装方便、安装速度快,无法定制


2. 二进制

不需要安装,解压即可使用,不能定制功能


3. 编译安装

可定制,安装慢,步骤复杂


#定制功能:存储引擎、字符集、压缩

#定制安装位置、数据存放位置、文件位置(socket)

#下载5.6.36包
[root@db02 ~]# wget -q https://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

#安装epel源
[root@db02 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-6.repo

#安装依赖包
[root@db02 ~]# yum install -y ncurses-devel libaio-devel

#安装cmake
[root@db02 ~]# yum install -y cmake

#创建用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M

#修改hosts
[root@db02 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.52 db02

#解压MySQL源码包
[root@db02 tools]# tar xf mysql-5.6.36.tar.gz

#进入MySQL目录
[root@db02 tools]# cd mysql-5.6.36





#生成及编译参数
[root@db02 mysql-5.6.36]#

#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \

#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data \

#socket文件存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \

#使用utf8字符集
-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 \

#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \

#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \

#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \

#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \

# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1 \

#禁用debug(默认为禁用)
-DWITH_DEBUG=0




#编译
[root@db02 mysql-5.6.36]# make

#安装
[root@db02 mysql-5.6.36]# make install

#做软链接
[root@db02 mysql-5.6.36]# ln -s /application/mysql-5.6.38/ /application/mysql

#拷贝配置文件
[root@db02 mysql-5.6.36]# cp support-files/my*.cnf /etc/my.cnf

#拷贝mysql启动脚本
[root@db02 mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld

#进入MySQL初始化脚本目录
[root@db02 mysql-5.6.36]# cd /application/mysql/scripts/

#初始化MySQL
[root@db02 mysql-5.6.36]# ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

#授权
[root@db02 mysql-5.6.36]# chown -R mysql.mysql /application/mysql/

#给启动脚本授权700
[root@db02 mysql-5.6.36]# chmod 700 /etc/init.d/mysqld

#systemd管理mysql启动
[root@db02 mysql-5.6.36]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000



#设置开机自启动
[root@db02 mysql-5.6.36]# chkconfig mysqld on

#设置开机自启动C7
[root@db02 mysql-5.6.36]# systemctl enable mysqld

#启动MySQLC6
[root@db02 mysql-5.6.36]# /etc/init.d/mysqld start

#启动MySQLC7
[root@db02 mysql-5.6.36]# systemctl start mysqld

#创建tmp目录(5.6.36版本不会自动创建tmp目录)
[root@db02 mysql-5.6.36]# mkdir /application/mysql-5.6.36/tmp

#添加环境变量
[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile

#个人推荐
[root@db02 ~]# echo 'PATH=/application/mysql/bin/:$PATH' >/etc/profile.d/mysql.sh
[root@db02 ~]# source /etc/profile.d/mysql.sh

#设置MySQL密码
[root@db02 ~]# mysqladmin -uroot password 'oldboy123'

#MySQL登陆
[root@db02 ~]# mysql -uuser -ppassword -Ssocket -hhost





#MySQL基本操作及基本优化
#查看库
mysql> show databases;
#删库
mysql> drop database test;
#使用库
mysql> use mysql
#查看表
mysql> show tables;
#查看当前所在库
mysql> select database();
#查看mysql用户
mysql> select user,host from user;
mysql> select user,host,password from user;
#删除用户
mysql> select user,host from user;
mysql> drop user ''@'db02';
mysql> drop user root@db02;
mysql> drop user root@'::1';
mysql> drop user root@'127.0.0.1';



返回列表

没有更早的文章了...

下一篇:MySQL程序结构

“MySQL简介及安装” 的相关文章

 MySQL的存储引擎(一)Innodb

MySQL的存储引擎(一)Innodb

一.存储引擎简介1、文件系统:1.1 操作系统组织和存取数据的一种机制。1.2 文件系统是一种软件。2、文件系统类型:ext2 3 4 ,xfs 数据2.1 不管使用什么文件系统,数据内容不会变化2.2 不同的是,存储空间、大小、速度。3、MySQL引擎:3.1 可以理解为,MySQL的“文件系统...

MySQL的备份和恢复

备份的类型冷备份:这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。温备份:这些备份在读取数据时进行,但在多数情况下,在进...

MySQL主从复制

主从复制简介1:高可用2:辅助备份3:分担负载复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。1:主服务器将所有数据和结构更改记录到二进制日志中。2:从属服务器从主服务器请求该二进制日志并在本地应用其内容。3:IO:请求主库,获取上一次执行过的新的事件,并存放到rela...

MySQL集群——MHA高可用及读写分离

MySQL集群——MHA高可用及读写分离

一.MHA简介MHA能够在较短的时间内实现自动故障检测和故障转移,通常在10-30秒以内;在复制框架中,MHA能够很好地解决复制过程中的数据一致性问题,由于不需要在现有的replication中添加额外的服务器,仅需要一个manager节点,而一个Manager能管理多套复制,所以能大大地节约服务器...

MySQL从入门到高可用架构报错解决

MySQL从入门到高可用架构报错解决

1.报错原因:MySQL的socket文件目录不存在。解决方法:创建MySQL的socket文件目录mkdir /application/mysql-5.6.38/tmp 2.报错原因:socket文件目录没有权限解决方法:给socket文件目录授权mysql用户的权限chown -R m...