一起学编程,让生活更随和!
如果你觉得是个同道中人,欢迎关注博主 gzh :【随和的皮蛋桑】。
专注于Java基础、进阶、面试以及计算机基础知识分享。偶尔认知思考、日常水文。
进入 MySQL 官网:
我选择的 Linux 操作系统版本的安装包,下载之后通过 XFTP 工具上传至 Linux 系统上,当然也可以通过命令直接下载:
# 在指定目录下
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
检查MySQL
rpm -qa | grep mysql
有则卸载
rpm -e --nodeps mysql-xxxx
检查 MariaDB(一般是系统内置安装的,不卸载会有冲突)
rpm -qa | grep mariadb
有则卸载
rpm -qa | grep mariadb
# 或者
yum -y remove mariadb-libs-xxx
tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
重命名(友情提示:名字最好命名为 mysql
),但是我不一样,我就命名为了 mysql5.7
,不给你们刚,后面就后悔了(娘了个jio)
mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql5.7
迁移路径(友情提示:路径最好迁移到 usr/local
下),哎但是我还不一样,我就迁移到了自建的 ./software
目录下,还不给你们刚,后面后悔了不得了(爹了个jio)
mv mysql5.7 ./software/
# 新建属组
groupadd mysql
# 新增用户
useradd -r -g mysql mysql
进入 mysql5.7
目录下修改属组及属组用户和文件夹权限
# 修改 mysql5.7目录用户为刚刚新建的mysql组中的mysql用户
chown -R mysql:mysql mysql5.7
# 允许 mysql5.7文件夹及其包含的文件可以修改的权限
chmod -R 775 mysql5.7
[root@yixiujun mysql5.7]# mkdir data
[root@yixiujun mysql5.7]# ls
bin data docs include lib LICENSE man README share support-files
切记一定要在 mysql
安装目录下的 bin
目录执行
./mysqld --initialize --user=mysql --datadir=/software/mysql5.7/data --basedir=/software/mysql5.7
--datadir=/software/mysql5.7/data
--basedir=/software/mysql5.7
初始化完成之后,最下方会出现临时密码,记事本记录出现的临时密码,后续登录 mysql
会用到:
第一步:修改 mysql.server
vim /software/mysql5.7/support-files/mysql.server
按 i
建输入修改自定义安装路径,然后按 esc
键,再 :wq
保存退出!
这里默认路径都是 usr/local/mysql
,也就是说默认安装路径为 usr/local
,默认安装目录名为 mysql
,而我在上述恰恰都修改了,你说呲花不呲花(妈了个巴子)
首先将上述文件拷贝到系统文件下,也可以建立软连接,两种方式都可以:
# 直接拷贝
cp /software/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
# 建立软连接
ln -s /software/mysql5.7/support-files/mysql.server /etc/init.d/mysql
查看是否成功:
[root@yixiujun /]# ll /etc/init.d/mysql
-rwxr-xr-x 1 root root 10616 Feb 22 23:25 /etc/init.d/mysql
设置为开机自启动
chkconfig --add mysqld
查看是否设置成功
通过 mysql
官网可以知道,从版本 5.7.18
开始,mysql
免安装版二进制包中就不包含该文件了,即不需要 my.cnf
文件也可以正常运行;my.cnf
文件中配置的参数选项会在命令行启动 mysql
的时候作为参数进行启动,为了后面搭建 mysql
主从环境方便,下面以添加一个简单的 my.cnf
文件作为实例:
vim /etc/my.cnf
如果没有此文件,则会自动创建,然后编辑输入一下内容:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP
skip-name-resolve
# 设置3306端口
port=3306
#设置远程访问ip
bind-address=0.0.0.0
# 设置mysql的安装目录
basedir=/software/mysql5.7
# 设置mysql数据库的数据的存放目录
datadir=/software/mysql5.7/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置查询操作等不区分大小写
lower_case_table_names=1
然后 esc
, :wq
保存退出
设置文件权限:
chmod -R 775 /etc/my.cnf
# 查看mysql服务状态
service mysql status
# 启动mysql服务
service mysql start
# 停止mysql服务
service mysql stop
# 重启mysql服务
service mysql restart
说民 mysql
服务安装路径还没有修改完,编辑 etc/init.d/mysql
# 启动mysql服务
service mysql start
vim /etc/profile
将 mysql
安装目录配置到环境变量中,在 /etc/profile
文件的末尾添加以下代码
export PATH=$PATH:/software/mysql5.7/bin
source /etc/profile
这样就可以在任何目录,直接通过 mysql
命令登录 mysql
服务了
重启 mysql
服务
# 重启mysql服务
service mysql restart
输入登录命令
mysql -uroot -p
修改密码
alter user 'root'@'localhost' identified by 'root';
# 或者
set password for root@localhost = password('123456')
刷新
flush privileges;
前提开启防火墙指定端口号
# 永久开放 3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新
firewall-cmd --reload
如果客户端还连接不上,执行以下命令,创建一个远程可以访问的用户
grant all privileges on *.* to '用户名'@'%' identified by '密码'
%
是指任意 ip
root
同名。查看当前 mysql
服务的所有用户信息
select host,user,password_expired,password_last_changed,password_lifetime FROM mysql.user
再次连接客户端
妥了,大功告成,连接成功!!!
附:谁说 SQLyog low 我跟它急,我就喜欢 low 的!!!
一起学编程,让生活更随和!
如果你觉得是个同道中人,欢迎关注博主 gzh :【随和的皮蛋桑】。
专注于Java基础、进阶、面试以及计算机基础知识分享。偶尔认知思考、日常水文。