mysql 安装

# 检测系统是否自带mysql
rpm -qa | grep mysql
# 检测系统是否自带mariadb
rpm -qa|grep mariadb
# 强制删除mysql
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 
# 强制删除mariadb
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64


# 查询mysql
whereis mysqlm
# 查找名称为mysql
find / -name mysql
# 删除相关目录或文件
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 
# 验证是否删除完毕
whereis mysqlm
find / -name mysql


# wget下载
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz


# 解压
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
# 重命名
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28

# 检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql 
# useradd -r参数表示mysql用户是系统用户,不可用于登录系统
useradd -r -g mysql mysql




# 进入mysql文件夹
cd /usr/java/mysql/mysql-5.7.28
# 创建data目录
mkdir data

# 将/usr/local/mysql-5.7.28的所有者及所属组改为mysql
chown -R mysql.mysql /usr/java/mysql/mysql-5.7.28


#在/usr/java/mysql/mysql-5.7.28/support-files目录下创建my-default.cnf

=============================================================
[mysqld]

#设置mysql的安装目录
basedir =/opt/mysql/mysql-5.7.28
#设置mysql数据库的数据存放目录
datadir = /opt/mysql/mysql-5.7.28/data
#设置端口
port = 3306
#是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,必须重启生效
lower_case_table_names=1
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8mb4
#是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别
innodb_file_per_table=1
#日志存放目录
log-error = /opt/mysql/mysql-5.7.28/data/mysqld.log
pid-file = /opt/mysql/mysql-5.7.28/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONi

==============================================================
# 拷贝
cp my-default.cnf /etc/my.cnf
# 初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.28/ --datadir=/opt/mysql/mysql-5.7.28/data/

#如果报错:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 就安装libaio,如果没有则跳过

# 安装libaio
yum install libaio

# 初始化完成之后查看日志
cat /usr/java/mysql/mysql-5.7.28/data/mysqld.log

# 查看临时密码:  root@localhost: password


# 复制启动脚本到/etc/init.d
cp support-files/mysql.server /etc/init.d/mysql
# 下面命令设置开机自启动  随意
# 赋予可执行权限
chmod +x /etc/init.d/mysql
# 添加服务
chkconfig --add mysql
# 显示服务列表
chkconfig --list



# 启动mysql
service mysql start

# 进入mysql目录
cd /usr/java/mysql/mysql-5.7.28
# 进入mysql,输入上方默认初始密码
./bin/mysql -u root -p 

#修改密码
set password = password('123456')

# 创建用户
CREATE USER 'wwh'@'%';

# 授权
grant all privileges on *.* to root@'%' identified by '123456';

# 授权
grant all privileges on *.* to wwh@'%' identified by '123456';


mysql 小版本升级

#1、备份数据
#2、登录MySQL并将执行慢速关闭(针对生产环境)
mysql -u root -p
select @@innodb_fast_shutdown;
SET GLOBAL innodb_fast_shutdown=0;
#3、停止服务
mysqladmin -u root -p shutdown
#4、解压缩新版本
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
#5、备份原来data数据
mv data .. #移动到上层目录
#6、删除原来老版本数据
rm -rf mysql-5.7.28/*
#7、移动新版本文件进原来安装目录
cp -r  mysql-5.7.38-linux-glibc2.12-x86_64/* mysql-5.7.28/
mv data mysql-5.7.28/
#8、 指定配置文件和数据目录启动MySQL
mysqld_safe --defaults-file=/etc/my.cnf --datadir=/home/data/data/ --user=mysql &
# 检查所有表是否与当前版本兼容,并更新系统库
mysql_upgrade -u root -p
# 停止服务
mysqladmin -u root -p shutdown
# 指定配置重启
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

你可能感兴趣的:(linux,数据库,mysql,数据库,linux)