目录
0.码仙励志
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
1.环境和下载
Linux:centos7
MySQL:5.7
先下载,下载地址:MySQL :: Download MySQL Community Server

也可以用百度网盘下载
微信搜索公众号码海无际或扫描左侧二维码回复c017获取,
如果不会请给我留言或者加QQ194760901找我索要
2.安装
放到/home目录下

解压
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

再移动并重命名一下
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
![]()
查看一下
cd /usr/local/mysql

配置my.cnf
vi /etc/my.cnf
![]()
内容如下
[mysqld]
#配置区段
socket=/tmp/mysql.sock
#允许所有IP可访问mysql服务器
bind-address=0.0.0.0
#端口
port=3306
#MySQL启动用户
user=root
#指定安装MySQL的安装路径
basedir=/usr/local/mysql
#错误日志的文件路径,保存MySQL启动、运行或停止时的日志信息
log-error=/log/mysql/error/error.log
#是否开启常规日志,用于记录客户端连接和执行的SQL语句
general-log=1
#常规日志的文件路径
general-log_file=/log/mysql/general/general.log
#开启慢查询日志
slow_query_log=on
#设置超过2秒的查询为慢查询
long_query_time=2
#慢查询日志文件路径,用于记录超过long_query_time时间或没有使用索引的查询
slow-query-log-file=/log/mysql/slow/slow.log
#二进制日志的保存路径,主要用于复制环境和数据恢复。
log-bin=/log/mysql/bin/binfile
#二进制日志单个文件的大小限制。
max_binlog_size=500M
#自动清除超过指定天数的过期日志。
expire_logs_days=30
#指定MySQL的数据库文件路径,千万别和日志放到一起,防止rm -rf
datadir=/data/mysql
#开启二进制文件的时候,需要设置这个参数
server-id=1
#防止同一个数据库被启动多次
pid-file=/usr/local/mysql/mysql.pid
#服务器的默认字符集,默认为latin1
character_set_server=utf8mb4
#禁用符号链接以防止各种安全风险
symbolic-links=0
#服务器对TIMESTAMP列的默认值和NULL值的处理方式,默认为0。设为1时,TIMESTAMP列可以保存NULL值。
explicit_defaults_for_timestamp=1
#不区分大小写
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#设置最大连接数为100,默认100
max_connections=1000
#设置每用户最大连接数为500
max_user_connections=500
#表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响
wait_timeout=200

创建需要用到的目录
mkdir -p /log/mysql/error
mkdir -p /log/mysql/general
mkdir -p /log/mysql/slow
mkdir -p /log/mysql/bin
mkdir -p /data/mysql

初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=root --initialize
![]()
如果出现下面情况
![]()
需要执行下面命令,然后重新初始化数据库
yum install libaio-devel.x86_64
![]()
查看密码,这个密码是随机生成的,一会儿登录的时候需要
cat /log/mysql/error/error.log

将mysql.server放置到/etc/init.d/mysql中,不然启动不了服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
![]()
service mysql start

到这里说明mysql已经安装成功了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的密码,/usr/local/mysql/bin目录下执行
./mysql -u root -p

修改密码为123456,然后重新登录。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

这时候你如果使用远程连接……你会发现你无法连接。
这里主要执行下面三个命令(先登录数据库)
访问mysql库
use mysql;
使root能在任何host访问
update user set host = '%' where user = 'root';
刷新
FLUSH PRIVILEGES;

如果还不行查看防火墙是否关闭,没有关闭就关闭一下
查看防火墙状态
systemctl status firewalld.service

关闭防火墙
systemctl stop firewalld.service

用navicat连接

参考文献
Linux安装MySQL5.7_吃四碗饭的嘤嘤怪的博客-优快云博客_linux安装mysql
mysql 5.7 unknown variable 'log_slow_queries=/var/log/mysql/mysql-slow.log'_SakuraLLj的专栏-优快云博客
关于long_query_time的设置,可不可以说是mysql的一个小小bug呢_Vision.Z的博客-优快云博客_long_query_time
2万+

被折叠的 条评论
为什么被折叠?



