安装数据库时, 一般采用编译安装的方式, 并且在优化后做成rpm包, 以便统一使用,具体安装步骤如下。
1、下载指定版本的mysql安装包
# cd /usr/local/src/
# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.26.tar.gz
2、创建数据目录及mysql用户用户组
# mkdir -p /data/mysql/mysql3306/{data,logs}
# groupadd -r mysql
# useradd -r -g mysql -M -s /sbin/nologin mysql
3、编译安装
# cd /usr/local/src/
# tar -zxvf mysql-boost-5.7.26.tar.gz
# cd mysql-5.7.26
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.26 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/mysql-5.7.26/boost
# make && make install
# ln /usr/local/mysql-5.7.26 /usr/local/mysql
说明:使用软连接的方式, 便于多版本的管理。
4、MySQL相关配置
(1)设置目录权限
# chown -R root:mysql /usr/local/mysql/
# chown -R mysql:mysql /data/mysql/mysql3306/
(2)创建配置文件
# cp support-files/my-medium.cnf /data/mysql/mysql3306/my.cnf
可以对相关路径做一些修改,例如:
[mysqld]
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3306/data
socket = /data/mysql/mysql3306/mysql.sock
pid-file = /data/mysql/mysql3306/mysql.pid
log-error = /data/mysql/mysql3306/logs/errdb.err
(3)初始化数据库系统
# cd /usr/local/mysql
# ./mysql_install_db \
--defaults-file=/data/mysql/mysql3306/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/mysql3306/data \
--user=mysql
(4)设置环境变量PATH
# echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib' >> /etc/profile.d/mysql.sh
# source /etc/profile
说明: 为每个服务提供单独文件,对PATH进行配置,有助于后期管理维护。
(5)服务的启动与关闭
手动操作:
说明:对my.cnf的路径进行自定义配置后,可以根据不同的配置文件,启动不同的实例,实现多实例部署。
# mysqld_safe --defaults-file=/data/mysql/mysql3306/my.cnf >> /dev/null 2>&1 &
# mysqladmin -u root -p shutdown -S /data/mysql/mysql3306/mysql.sock
脚本操作: 注意配置相关路径
support-files/mysql.server {start|stop|restart|reload|force-reload|status}
(6)导出开发组件给系统使用
为了使mysql的安装符合系统使用规范,并将其开发组件导出给系统使用。
(A) 输出mysql的man手册至man命令的查找路径
修改/etc/man.config, 添加语句 "MANPATH /usr/local/mysql/man"
(B) 输出mysql的头文件至系统头文件路径/usr/include
# ln -sv /usr/local/mysql/include /usr/include/mysql
(C) 输出mysql的库文件给系统库查找路径
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
# ldconfig
(7)用户相关安全设置
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PWD';
创建远程连接用户
GRANT select,insert,update,delete ON 'DB'.* TO 'USER'@'%' IDENTIFIED BY 'PWD';
flush privileges;
建议生产环境中mysql安装完成后,一定要运行一次mysql_secure_installation。
本文暂时没有评论,来添加一个吧(●'◡'●)