参考文档
- Mysql5.7 Linux安装教程
- linux下mysql安装link
- MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
-
局域网无法访问其他计算机的mysql 服务
https://www.cnblogs.com/beyang/p/4905309.html
centos7.4 安装mysql 5.7.24
以centos为例(以root身份登录)
目录约定
- 安装文件下载目录:/data/software
- mysql目录安装位置:/usr/local/mysql
- 数据库保存位置:/data/mysql
- 日志保存位置:/data/log/mysql
#如果这3个文件夹不存在,先创建
mkdir -p /data/software
mkdir -p /data/mysql
mkdir -p /data/log/mysql
#创建错误日志文件
cd /data/log/mysql
touch error.log
#/usr/local/mysql这个目录待会解压安装包的时候一并创建
下载并解压
在官网选择mysql5.7.24 Linux - Generic版本下载
文件较大推荐服务器使用wget命令下载,或者本地使用迅雷下载,然后上传到服务器
cd /data/software
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#这里注意mysql后面没有/
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
新建mysql组、用户
groupadd mysql
#新建msyql用户禁止登录shell
useradd -r -g mysql mysql -s /sbin/nologin
#更改目录权限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/log/mysql
配置参数
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
#修改以下内容
basedir=/usr/local/mysql
datadir=/data/mysql
网上很多教程有这一步 cp my-default.cnf /etc/my.cnf,不过官网说:从5.7.18开始不在二进制包中提供my-default.cnf文件。参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
vim /etc/my.conf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
character_set_server=utf8
user=mysql
port=3306
tmpdir=/tmp
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/data/log/mysql/error.log
pid-file=/data/mysql/mysql.pid
# include all files from the config directory
!includedir /etc/my.cnf.d
启动mysql
启动
/etc/init.d/mysql start
mysql -hlocalhost -uroot -p
#如果出现:-bash: mysql: command not found,就执行
ln -s /usr/local/mysql/bin/mysql /usr/bin
修改密码
set password=password('root');
设置root账户的host地址(修改了才可以远程连接)
这里就可以使用远程连接测试了;
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql>flush privileges;
查看表
use mysql;
select host,user from user;
配置mysql开机自启
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
补充
#退出mysql命令窗口
exit
#查看mysql状态
service mysql status
#停止mysql
service mysql stop
#启动mysql
service mysql start