centos7 编译安装lnmp环境(nginx篇一)点击查看
https://blog.youkuaiyun.com/weixin_45310179/article/details/119561776?spm=1001.2014.3001.5501
centos7 编译安装lnmp环境(PHP篇二)点击查看
https://blog.youkuaiyun.com/weixin_45310179/article/details/119572299?spm=1001.2014.3001.5501
一、MySQL安装配置
1、下载mysql安装包
下载地址:点击下载
链接:https://pan.baidu.com/s/10f2Kr3dXb-xnxP1Ngv0_qg
提取码:1ba3
下载完场上传到服务器文件下载目录(我是放到/usr/local/mysql)
2、安装编译工具及库文件
yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel
3、进入mysql目录:cd /usr/local/mysql;
解压
tar -zxvf mysql-8.0.26-el7-x86_64.tar.gz
解压后我嫌文件夹名字太长,重命名为mysql-8.0
创建文件夹data,存储文件;
cd /usr/local/mysql-8.0/
mkdir ./data
4、 创建用户及用户组
用户组
groupadd mysql
用户 (用户名/密码)
useradd -g mysql mysql
授权
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
5、初始化数据库:
查看当前所在目录
pwd
若显示/usr/local/mysql/mysql-8.0,请继续执行,否则请先进入此目录/usr/local/mysql/mysql-8.0
初始化 注意查看是否存在相关目录,若不存在,请新建
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0/ --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize
得到临时密码
6、Mysql配置(按照自己的文件路径配置,关于其他配置,可自行搜索,若有【mysql-safe】的配置,可以先注释掉)
vi /etc/my.cnf
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/usr/local/mysql/mysql-8.0/mysql.sock
7、建立MySQL服务(注意当前路径应该在mysql-8.0,即support-files的根目录)
添加Mysql到系统服务
cp -a ./support-files/mysql.server /etc/init.d/mysql # 若mysqld,以下mysql相应的修改mysqld,如下图所示
chmod +x /etc/init.d/mysql
chkconfig --add mysql
检查服务是否生效
chkconfig --list mysql
8、启动Mysql服务
service mysql start
如果出现如下错误,检查vi /etc/my.cnf中【mysql-safe】的配置的配置是否注释
如果还有一下错误
检查是否为data文件夹权限是否mysql:mysql
chown -R mysql:mysql mysql-8.0
再次启动,成功
9、登录mysql
解决方法:ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin
再次登录,输入上面得到的临时密码
解决方法:
有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket
[client]
port=3306
socket=/usr/local/mysql/mysql-8.0/mysql.sock
再次登录,成功
修改密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
10、设置远程连接(如果需要可以设置)
在 my.cnf 的mysqld 下增加
default_authentication_plugin=mysql_native_password
远程连接操作不应该修改mysql中user表中用户为root的记录,而是创建一条root记录
创建一个新用户
create user yuancheng@’%’ identified by ‘yuancheng’;
授权示例
grant all privileges on . to yuancheng@’%’ with grant option;
刷新权限
flush privileges;
修改远程连接用户的加密规则
ALTER USER ‘yuancheng’@’%’ IDENTIFIED WITH mysql_native_password BY ‘yuancheng’;
OK,搞定 !