环境准备:一台linux服务器,mysql5.7安装包(可从官网下载)
一、解压安装
将压缩包传入服务器
找到服务器中的压缩包、准备解压缩
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /data/module/
解压到/data/module/目录下
修改文件夹名称为mysql5.7
mv mysql-5.7.29-linux-glibc2.12-x86_64/ mysql5.7
进入mysql5.7,检查目录下文件
创建文件夹data和binlog
mkdir data
mkdir binlog
二、修改配置文件
修改 /etc/my.cnf配置文件,这时候修改好,省的到时候再重启服务
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP# 设置3306端口
port = 3306
#设置远程访问ip
bind-address=你安装mysql的服务器ip地址
# 设置mysql的安装目录
basedir=/data/module/mysql5.7
# 设置mysql数据库的数据的存放目录
datadir=/data/module/mysql5.7/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置查询操作等不区分大小写
lower_case_table_names=1innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G
sql_mode = NO_AUTO_VALUE_ON_ZEROserver-id=222
#设置日志三种格式:STATEMENT、ROW、MIXED 。
binlog_format = row
##设置日志路径,注意路经需要mysql用户有权限写
log-bin = /data/module/mysql5.7/binlog/mysql-bin.log
##设置binlog清理时间
expire_logs_days = 7
##binlog每个日志文件大小
max_binlog_size = 100m
##binlog缓存大小
binlog_cache_size = 10m
##最大binlog缓存大小
max_binlog_cache_size = 512m
检查用户组是否存在mysql用户
groups mysql
没有就创建该用户,并给该用户赋权
groupadd mysql
useradd -r -g mysql mysql
chown mysql:mysql -R /data/module/mysql5.7
接下来将mysql5.7文件夹下的support-files重点mysql.server复制粘贴到/etc/init.d,此举是为了将将mysql添加到linux的系统服务中
cp /data/module/mysql5.7/support-files/mysql.server /etc/init.d/mysql
然后到/etc/profile.d/myenv添加环境变量(也可以在你自己的环境变量文件中添加,能生效即可)
vim /etc/profile.d/myenv
进入文件后在最底部添加
#MYSQL
export PATH=/data/module/mysql5.7/bin
修改完后wq保存
别忘了加载
source /etc/profile.d/myenv
若发现加载后其他命令失效
是因为环境变量的问题,编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别。
解决办法:
直接在linux命令界面输入以下命令
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
再将profile文件恢复原样
改用软连接
系统会默认查找/usr/local/bin下的命令,如果这个命令不在这个目录下,就会找不到
解决办法:
映射一个软链接到/usr/local/bin目录下,如mysql的路径是:/data/module/mysql5.7
我们可以执行命令:
ln -s /data/module/mysql5.7/bin/mysql /usr/local/bin
之后进入mysql5.7的bin目录中,准备进行初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/data/module/mysql5.7 --datadir=/data/module/mysql5.7/data --user=mysql --initialize
注意:basedir和datadir要和my.cnf文件中写的一致
红框为mysql初始密码
启动mysql服务
service mysql start
检查是否启动成功
service mysql status
三、初始登录、修改密码
mysql -uroot -p
直接回车,输入上面红框的初始密码后回车
可以看见,登录后有mysql的版本号
简单尝试一些常用sql命令,发现报错
这是我们第一次用初始密码登录,mysql要求我们修改密码后方可正常使用
修改即可
alter user 'root'@'localhost' identified by 'root';
刷新权限
flush privileges;
再尝试一下
quit退出,使用修改后的密码重新登录试试
mysql -uroot -proot
还有配置root用户远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
登录成功,配置完成