CentOS6.9安装MySQL
Linux安装MySQL的4种方式:
1. 二进制方式
特点:不需要安装,解压即可使用,不能定制功能
2. 编译安装
特点:可定制,安装慢
5.5之前: ./configure make make install
5.6之后: cmake gmake
3. rpm,yum
特点:安装方便,安装速度快,无法定制
4. 先编译,然后制作rpm,制作yum源,然后yum安装
特点:简单,速度快,可定制,比较复杂,制作时间长
企业选择:
中小企业:以上方式都可以,运维偏向编译安装,dba偏向选择二进制
大型企业:选择第四种
二进制安装步骤:
环境准备
Linux系统,这里以CentOS6.9作为演示
mysql安装包:mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz
安装
-
解压mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz,并拷贝到/application/mysql-5.7.24目录下
mkdir -p /tools
mkdir -p /application
cd /tools
tar -zxf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.24-linux-glibc2.12-x86_64 /application/mysql-5.7.24 ln -s /application/mysql-5.7.24 /application/mysql5.7 -
添加mysql 用户
useradd -s /sbin/nologin -M mysql # 提前创建安装目录
mkdir -p /application/mysql-5.7.24 -
修改mysql工作目录权限
chown -R mysql.mysql /application/mysql-5.7.24 /application/mysql5.7
-
安装mysql
cd /application/mysql5.7 ./bin/mysqld --initialize --user=mysql --basedir=/application/mysql5.7 --datadir=/application/mysql5.7/data # 执行完上诉命令,输出的信息中存在mysql的登录密码。(最后一行的最后一串字符就是密码)
-
将mysql启动命令复制到系统文件中
cp /application/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
-
将mysql的启动文件路径加入到系统环境变量中
echo "PATH=/application/mysql5.7/bin:$PATH" >> /etc/profile . /etc/profile # 让/etc/profile文件生效
-
配置mysql配置文件
# 编辑配置文件
vim /etc/my.cnf ************************以下为配置,直接复制粘贴***************************
[mysql]
socket=/application/mysql5.7/data/mysql.sock [mysqld]
port=3306
socket=/application/mysql5.7/data/mysql.sock
basedir=/application/mysql5.7
datadir=/application/mysql5.7/data -
启动mysql服务
/etc/init.d/mysqld start
-
登录mysql服务
mysql -u root -p密码 # 密码是第4步中的内容
-
最后登录成功的界面
-
修改密码
alter user user() identified by "新密码";
到这里二进制安装就结束了
编译安装步骤:
环境准备
Linux系统,这里以CentOS6.9作为演示
mysql安装包:mysql-5.6.37.tar.gz(后面步骤中有详细的地址)
安装
-
安装依赖包
yum install -y ncurses-devel libaio-devel gcc gcc-c++
-
安装cmake,编译器
yum install cmake -y
-
创建用户,供运行mysql使用
useradd -s /sbin/nologin -M mysql # 提前创建安装目录
mkdir -p /application/mysql-5.6.36 -
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
-
解包
tar -zxvf mysql-5.6.37.tar.gz # 进入对应的目录中
cd mysql-5.6-37 -
编译
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 \
-DMYSQL_DATADIR=/application/mysql-5.6.36/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/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
make && make install *******************************参数含义*****************************
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.37 \ # 指定安装目录,类似window选择目录安装软件,默认最后一级目录系统自动创建。
-DMYSQL_DATADIR=/application/mysql-5.6.37/data \ # 指定数据目录,一般都是跟随安装下
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.37/tmp/mysql.sock \ # 指定sock文件位置
-DDEFAULT_CHARSET=utf8 \ # 字符编码
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 启用该引擎的支持。语法为:-DWITH_<ENGINE>_STORAGE_ENGINE=1 禁用语法为:-DWITHOUT_<ENGINE>_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
make && make install # make 开始编译,make install 安装 **********************常见的编译参数*************************
-DMYSQL_USER=mysql # 设置mysql服务的用户,必须真实存在
-DMYSQL_TCP_PORT=3306 # 设置mysql服务的端口,默认为3306
更多编译请参考官方文档:https://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html#option_cmake_storage_engine_options
-
创建软连接
ln -s /application/mysql-5.6.37 /application/mysql5.6
-
修改安装目录的权限
chmod +w /application/mysql-5.6.37
chmod +w /application/mysql5.6 chown -R mysql:mysql /application/mysql5.6
chown -R mysql:mysql /application/mysql-5.6.37 -
复制配置文件到Linux系统目录下,并在/etc/my.cnf文件中添加如下内容
cd /application/mysql-5.6.37 cp -f support-files/my-default.cnf /etc/my.cnf # 在/etc/my.cnf中添加如下内容:
-----------------------------/etc/my.cnf内容------------------------
[mysql]
socket=/application/mysql5.6/data/mysql.sock [mysqld]
port=3306
socket=/application/mysql5.6/data/mysql.sock
basedir=/application/mysql5.6
datadir=/application/mysql5.6/data
------------------------------------------------------------------- -
执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径
cd /application/mysql5.6/scripts/ ./mysql_install_db --defaults-file=/etc/my.cnf --basedir=/application/mysql5.6 --datadir=/application/mysql5.6/data --user=mysql # --defaults-file 指定mysql的配置文件
# --basedir 指定mysql工作目录
# --datadir 指定mysql数据目录
# -user 指定mysql软件运行的用户 -
将mysql启动文件拷贝到系统目录下(类似windows把软件的启动程序,拷贝到了桌面,有利于快速启动)
cd /application/mysql5.6 cp support-files/mysql.server /etc/init.d/mysqld
-
授权mysqld文件执行权限
chmod +x /etc/init.d/mysqld
-
设置开机自启动(根据自身爱好进行设置)
chkconfig mysqld on
-
启动msyql服务
/etc/init.d/mysqld start
-
把mysql服务的路径添加到环境变量中
echo "PATH=/application/mysql5.6/bin:$PATH" >> /etc/profile . /etc/profile # 让/etc/profile文件生效
-
设置mysql登录的密码
/application/mysql5.6/bin/mysqladmin -u root password '新密码' -S /application/mysql5.6/data/mysql.sock
-
登录mysql服务
mysql -uroot -p新密码 # 注意-p后面直接接密码,不要空格
-
登录成功后的界面如图