目录
环境:
系统和软件版本
操作系统:centos 7.5(1804)
mysql版本:mysql-5.7.26
yum环境
##yum环境是系统本地源
mkdir /etc/yum.repos.d/test
mv /etc/yum.repos.d/C* /etc/yum.repos.d/test/ #移动系统自带镜像
mount /dev/sr0 /mnt/ #挂载光盘镜像
mkdir /etc/yum.repos.d/cangku #创建yum仓库
cp -r /mnt/* /etc/yum.repos.d/cangku #将镜像复制到yum仓库
yum配置文件如下:
echo "[cangku]
name=yum cangku
baseurl=file:///etc/yum.repos.d/cangku
enabled=1
gpgcheck=0" >>/etc/yum.repos.d/yum.repo
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
1.解决依赖包问题
1、wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz #下载mysql二进制包。
2、yum -y install gcc-c++ zlib zlib-devel pcre pcre-devel openssl-devel libaio libaio-devel.x86_64 #安装依赖包。
2.解压文件、创建myslq管理用户
3、tar -zvxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ #解压二进制压缩包。
4、cd /usr/local/ #进入解压路径。
5、ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql #创建以mysql命名的软连接。
6、groupadd mysql #创建命名为mysql的组。
7、useradd -r -g mysql -s /sbin/nologin mysql #创建名为mysql的用户,添加到mysql组,设置为程序用户。
8、mkdir -p /usr/local/mysql/log #创建mysql日志目录。
9、mkdir -p /usr/local/mysql/data #创建mysql数据存放目录。
10、chown -R mysql:mysql /usr/local/mysql/ #设置mysql的属组属主为myslq程序用户。
11、rpm -e mariadb-libs --nodeps #删除系统自带的mariadb,避免软件冲突。
3.编辑主配置文件
12、vi /etc/my.cnf 编辑主配置文件,内容如下:
[client]
socket = /usr/local/mysql/mysql.sock
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /usr/local/mysql/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/mysql.pid
log_error = /usr/local/mysql/log/mysql-error.log
skip-name-resolve
参数内容:
[client] #客户端设置
socket = /usr/local/mysql/mysql.sock #客户端发起本地连接的套接字文件
[mysqld] #服务端设置
server_id=10 #数据库id号,作用于同一网段有多台数据库,便于区分
port = 3306 #监听端口,默认是3306
user = mysql #运行用户,指定mysql用户
character-set-server = utf8mb4 #指定字符集,默认是utf8
default_storage_engine = innodb #指定默认存储引擎为innodb
log_timestamps = SYSTEM #管理日志的时间戳,设置为SYSTEM,默认参数是UTC,可能会>导致跟中国时区对不上。
socket = /usr/local/mysql/mysql.sock #用于本地连接的套接字文件。
basedir = /usr/local/mysql #指定安装目录。
datadir = /usr/local/mysql/data #指定数据库存储目录。
pid-file = /usr/local/mysql/mysql.pid #指定pid进程号存放文件。
log_error = /usr/local/mysql/log/mysql-error.log #指定错误日志文件。
skip-name-resolve #禁用dns解析,解决连接mysql慢的问题;但是这样不能在mysql的授>权表中使用主机名,只能使用IP。
4.初始化mysql
13、/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp #初始化mysql。
5.创建ssl加密
14、/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data #创建ssl安全加密,可以加也可以不加,不影响二进制安装mysql。
6.配置mysql自带启动脚本和添加环境变量
15、sed -i '46c\basedir=/usr/local/mysql' /usr/local/mysql/support-files/mysql.server #修改启动脚本文件,指定mysql安装目录。
16、sed -i '47c\basedir=/usr/local/mysql/data' /usr/local/mysql/support-files/mysql.server #修改启动脚本文件,指定数据库存储目录。
17、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #复制编辑好的启动脚本到init.d下。
18、chmod +x /etc/init.d/mysqld #给复制后的启动脚本可执行权限。
19、chkconfig --add mysqld #将mysqld配置为systemctl可以使用的服务。
20、chkconfig mysqld on #将mysqld服务设为开机自启动。
21、/etc/init.d/mysqld start #启动服务。
22、echo "export PATH=/usr/local/mysql/bin:$PATH" >/etc/profile.d/mysql.sh
23、source /etc/profile #添加环境变量,优化mysql命令的执行路径。
7.设置初始密码
24、grep 'password' /usr/local/mysql/log/mysql-error.log 查看初始化时生成的root用户的随机密码,我的是“d.-eIi6rrCyb”。
25、mysqladmin -u root -p password '123456' 设置初始密码,需要随机密码验证,和上一步查看到的随机密码通过验证。
26、mysql -uroot -p123456