(一)mysql 安装
2020-07-16 本文已影响0人
后知不觉1
.安装方式主要有是那种 编译后源码安装,rpm 安装,源码安装;主要介绍前两种
1.编译后的源码安装(tar.gz)
下载源可以自行选择,这里以华为云镜像源展示
wget https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
安装
安装在/usr/local/mysql 下;这里格式有点问题,直接复制使用会报错去掉前面空格正常;
cd /usr/local/ #进入安装目录
tar -xvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz #解压
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql #
#这里有一个坑,就是源文件夹权限也要修改为mysql:mysql 不然无法创建mysql.sock,error.log 授权一下mysql-5.7.28-linux-glibc2.12-x86_64就正常了
chown -R mysql:mysql mysql-5.7.28-linux-glibc2.12-x86_64
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #添加mysqld服务
chmod +x /etc/init.d/mysqld #添加可执行权限
chkconfig --add /etc/init.d/mysqld #设置开机启动
chkconfig --list #检查开机启动设置是否成功
mysql 配置文件修改/etc/my.conf
[mysqld]
datadir=/usr/local/mysql/data #数据存放位置;
socket=/usr/local/mysql/mysql.sock
basedir=/usr/local/mysql #msyql的主目录,默认值/usr/local/mysql,可省略,如果安装目录不是在该位置,不可省略
[client]
socket=/usr/local/mysql/mysql.sock #client 不配的话会默认读/tmp/mysql.sock,导致登录失败
[mysqld_safe]
log-error=/usr/local/mysql/data/mariadb.log #启动失败日志存放位置
pid-file=/usr/local/mysql/data/mariadb.pid
创建mysql 用户
useradd mysql
chown -R mysql:mysql /usr/local/mysql/*
mysql 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
启动
systemctl start mysqld
备注如果启动失败,看日志排查问题;一般都是配置目录有问题;
配置环境变量在登录linux后会加载/etc/profile 文件,针对任意用户;
配置环境变量时只需要关注path 就行,多个用冒号分割;
path 是告诉系统再加载命令时将对应的目录加载过来,这样在执行命令就知道去哪里找文件了;
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #classpath 是jdk用到的,告诉基本的jar 去哪里找;
export MYSQL_HOME=/usr/local/mysql
export PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH
忘记密码
属性添加 skip-grant-tables 重启mysqld
update user set authentication_string = password ( 'new-password' ) where user = 'root' ;
重启mysqld
登录mysql执行 ALTER USER USER() IDENTIFIED BY "new password"
常见问题
这是缺少包
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这是缺少包
yum install -y libaio
进程已经存在
Starting MySQL... ERROR! The server quit without updating PID file (/home/mysql/data/localhost.pid)
手动kill 一下就好
附:
mkdir -p /tmp/mysqld
cd /tmp
touch mysql.sock
chown -R mysql:mysql mysql.sock
chmod 755 mysql.sock
cd mysqld
touch mysqld.pid
chmod 755 mysqld.pid
chown -R mysql:mysql mysqld.pid
cd /var/log
touch mysqld.log
chmod 755 mysqld.log