之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一。。。
现在用tar包安装5.7.22和5.7.20一样的 (5.7.30安装也一样)
(下载最好下载最新版本 mysql如果要安装最好安装5.7.30或mysql8.1+的版本 mysql5.7漏洞mysql5.7漏洞 本文最后更新:2020-12-16)
官网地址 MySQL :: Download MySQL Community Server
MySQL :: MySQL 5.7 Reference Manual :: 4.9 Environment Variables mysq的变量说明
国内华为云的镜像 Index of mysql-local/Downloads/MySQL-5.7
官网下载地址,建议用迅雷下载
https://downloads.mysql.com/archives/community/
这是最新的5.7.35
https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
国内华为云的镜像 https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 也可以去国内其他镜像找 这是华为官方镜像
1. 安装依赖 yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel numactl
cd /usr/local/src
链接:https://pan.baidu.com/s/18tSRnB7FBb7Ak9Sr665Jeg 密码:86nj 这是5.7.22版本,下载上传到服务器
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz(不能下载了)
如果上面链接不能下载,去官网找,下面的步骤都一样
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz(用这个,后续的步骤都一样)
解压 tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
将解压的复制到 /usr/local/mysql 目录 cp -r mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
2、添加系统mysql组和mysql用户
添加系统mysql组 groupadd mysql
添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql
查看)
3、安装数据库
切到mysql目录 cd /usr/local/mysql
修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./
安装数据库 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成了临时密码
(看到有的报这个错
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:yum install -y libaio //安装后在初始化就OK了)
执行以下命令创建RSA private key (图在最后)
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./
修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data
4、配置my.cnf
vim /etc/my.cnf (直接把下面内容复制上就行)
简单配置
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
标准配置
[mysqld]
user=mysql
slow_query_log = 1
log_error = /usr/local/mysql/mysql.err
slow_query_log = ON #开启慢查询
long_query_time =4 #设置慢查询时间 超过一秒的记录
log_bin = mysql-bin
server_id = 185
log-bin=mysql-bin
log-bin-index=master-bin.index
expire_logs_days = 180
binlog_format=row
slave_skip_errors=1062
log_slave_updates=1
max_connections = 1000
#max_connection_errors=1000
wait_timeout=864000
interactive_timeout=864000
local-infile=0
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
symbolic-links = 0
#不区分大小写
lower_case_table_names = 1
##不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
max_allowed_packet = 15M
添加开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改 vim /etc/init.d/mysqld
添加路径 在46行
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
5、启动mysql service mysqld start
加入开机起动 chkconfig --add mysqld
6、登录修改密码 mysql -uroot -p 上面初始化时的密码
如果出现错误 需要添加软连接 ln -s /usr/local/mysql/bin/mysql /usr/bin
第一件事先修改密码
alter user 'root'@'localhost' identified by 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #授权新用户
flush privileges; #刷新权限
create database db_name default charset utf8; 创建数据
至此安装完毕。
如果有报错的
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or director
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
原因:系统中并没有安装对应5版本的库文件,这个时候可以将高版本创建软连接到5版本
喜欢的支持一下,点个赞再走呗,谢谢☺☺☺。