centos7 x64+mysql8生产环境部署
本文实战讲解生产环境centos7 x64下mysql8的二进制包安装部署,并兼容低版本程序运行。
1.mysql下载
- mysql8官网下载
- 版本选择,如下图:
![1](https://i-blog.csdnimg.cn/blog_migrate/a0395393da59c9aea0b13a72300bf13a.png#pic_center)
2.mysql上传及准备工作
-
连接centos服务器: 本文采用SecureCRT连接centos服务器,SecureCRT是一款收费商业软件,收费的软件相对还是比较好用一点。如若不想交费,请自行百度,你懂的~~该软件自你第一次双击后,就自然会使用了,用户体验还是很棒的!如若虚拟机内安装,请直接登陆系统使用ip addr命令查询服务器地址。
-
centos7 x64系统初始安装均为最小化安装,安装mysql前先初始一些设置:
a. 关闭防火墙
//查看firewall状态 [root@localhost ~]#systemctl list-unit-files|grep firewalld.service //停止firewall [root@localhost ~]#systemctl stop firewalld.service //禁止firewall开机启动 [root@localhost ~]#systemctl disable firewalld.service
b. 关闭SELINUX
//将SELINUX=enforcing改为SELINUX=disabled [root@localhost ~]#vi /etc/selinux/config //设置为permissive模式,临时生效 [root@localhost ~]#setenforce 0
c. 卸载系统自带的Mariadb数据库
//查看是否存在mariadb [root@localhost ~]#rpm -qa | grep mariadb //存在则删除 [root@localhost ~]#rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
d. 依赖安装
[root@localhost ~]#yum install libaio -y
e. 安装上传下载软件:
[root@localhost ~]#yum install lrzsz -y
-
上传mysql8二进制安装包文件:
[root@localhost ~]#rz //回车后就可以选择刚才下载的mysqly安装文件上传,等待完成...
3.mysql安装
-
xz文件转tar文件(默认系统自带xz软件,若无则安装)
//安装xz软件 [root@localhost ~]#yum install xz -y //解压转化 [root@localhost ~]#xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
-
tar文件解压(默认系统自带tar软件,若无则安装)到/usr/local
//安装tar软件 [root@localhost ~]#yum install tar -y //解压 [root@localhost ~]#tar xf mysql-8.0.19-linux-glibc2.12-x86_64.tar -C /usr/local //改名 [root@localhost ~]#mv /usr/local/mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql //进入目录 [root@localhost ~]#cd /usr/local/mysql
-
创建mysql用户组及用户
//个人比较喜欢306,因为对应mysql3306端口 [root@localhost mysql]#groupadd -r -g 306 mysql [root@localhost mysql]#useradd -g 306 -r -u 306 mysql
-
创建mysql数据存储路径
//虽然就是一个mkdir命令,但一般有两种方式:一是在LVM创建(可以快速做数据快照),二是在mysql目录创建,大多数公司会选择这种低成本方式 [root@localhost mysql]#mkdir data
-
更改mysql属主属组及权限
//更改mysql属主属组 [root@localhost mysql]#chown -R mysql.mysql /usr/local/mysql/* //给予data路径750权限 [root@localhost mysql]#chmod o-rx /usr/local/mysql/data
-
my.cnf配置
//配置文件优先级:/etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/my.cnf->~/my.cnf(多个配置文件相同属性不同配置后者生效),这里单点单实例安装,所以选择/etc/my.cnf [root@localhost mysql]#vi /etc/my.cnf //输入以下内容保存 [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
-
mysql实例初始化
//命令执行完,找[Note] A temporary password is generated for root@localhost:PMMh2:5N/?Wj,则冒号后是mysql的root用户密码 [root@localhost mysql]#./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
-
安全设置
//mysql安装路径改回root属主 [root@localhost mysql]#chown -R root /usr/local/mysql/* //data路径改回mysql属主 [root@localhost mysql]#chown -R mysql /usr/local/mysql/data //给予data路径750权限 [root@localhost mysql]#chmod o-rx /usr/local/mysql/data
-
自启动配置
//设置启动文件 [root@localhost mysql]#cp support-files/mysql.server /etc/init.d/mysqld //设置执行权限 [root@localhost mysql]#chmod +x /etc/init.d/mysqld //添加自启动项 [root@localhost mysql]#chkconfig --add mysqld
-
配置环境变量
[root@localhost mysql]#echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/bashrc [root@localhost mysql]#source /etc/bashrc
-
启动mysqld服务
[root@localhost mysql]#systemctl start mysqld
4.mysql帐号配置
mysql8安装完成后,首先需配置你的root用户密码,及兼容低版本程序的远程连接管理帐户,否则不可用。因为mysql8使用了caching_sha2_password的加密方式,mysql5用的是sha256_password加密方式。
-
root登陆
[root@localhost mysql]#mysql -uroot -p //回车后输入上面的密码PMMh2:5N/?Wj
-
root密码修改(这里密码举个粟子)
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123456';
-
创建远程连接用户(sha256_password加密方式)
//创建用户(%可指定固定IP,%表示所有远程IP均可连接) mysql>CREATE USER 'dup'@'%'IDENTIFIED WITH mysql_native_password BY 'dup123456'; //授权(WITH GRANT OPTION表示dup帐号自身权限可再授权,不加则不能授权) mysql>GRANT ALL PRIVILEGES ON *.* TO 'dup'@'%' WITH GRANT OPTION; //更新权限表 mysql>flush privileges;
-
测试远程连接(连接工具Navicat Premium)
mysql的单机服务器架设结束,如果你想搞读写分离,做主从和主主复制,请看这篇干货mysql8主从和主主复制实战带你实现。