前言
好久没有写博客了,今天在安装MySQL的时候就想来看一看以前写的博客,结果一看,哎呀,还没有写过,好吧,那就开干。
现在MySQL最新版本是8,不过现在很多公司都还是使用的5.7版,因此,这里我们就记录5.7版本的MySQL安装,特别提示,这个版本的安装相对来说还是比较繁琐的,朋友们记得多加注意。
本文分为两个模块记录,分别为windows环境下安装和Linux环境下安装。
一、Windows里安装MySQL
1、下载
大家都应该知道MySQL已经属于Oracle公司了,因此,可以去Oracle官网下载。
点击之后会跳转到MySQL的官网去。
我们也可以直接搜索MySQL的官网,点击进去,方便快捷!
如下
选择Downloads,在打开的页面选择community downloads.
如下。
该页面弹出的是最新版的MySQL,如果你想下这个也是可以滴,不够本文是记录稳定版5.7,因此我们选择archives,如下,选择想要的5.7版本进行下载即可。
还有一个很方便的方式,直接点击Looking for previous GA versions?,会跳转到以前的正式版去,可以下载,这里不再赘述。
2、安装
通过上面的方式,我们下载的是zip包,那么这里我们直接对其进行解压。
说明一点。官网也是可以下载.exe可执行文件的,那样会稍微轻松一点。不过我还是习惯下载zip文件。
当然了,我们需要将解压后的文件放在我们软件习惯放置的位置,我是放在F:\Program Files (x86)目录下的。
3、配置
环境变量配置
我们都知道zip包解压后软件一般就可以使用了,但是,为了以后方便操作,我们还是需要进行环境配置的。我们需要将bin的文件地址放进path里。
首先,找到bin的文件路径,这个我就不多说了。我的是F:\Program Files (x86)\mysql-5.7.19\bin。
然后打开环境变量,可以发现上面的用户变量有一个path,下面的系统变量也有一个,我们放在哪一个呢。
因为我的用户变量就是管理员账户,因此两个都可以,放在系统里大家都可以使用,但是好像MySQL必须要用管理员账户登录~因此也推荐大家就放在管理员的用户变量里就行了,不过我这里就是要放在系统变量里,因为这是我的私人电脑,救我一个人用,无所谓。
my.ini文件
在MySQL的跟文件下创建一个my.ini文件,我的地址为F:\Program Files (x86)\mysql-5.7.19
特别说明:my.ini这个文件在5.7之前都是自动创建的,但是5.7需要自己手动创建。这里我将文件内容贴出来,便于大家参考。
最后一个跳过安全检查意思是不用密码就可以登陆,现在先跳过,后面设置了账号密码再来把他去掉就可以了。
[mysqld]
# 设置为自己的MySQL安装目录
basedir=F:\Program Files (x86)\mysql-5.7.19\
# 设置为MySQL的数据目录
datadir=F:\Program Files (x86)\mysql-5.7.19\data\
port=3306
# 跳过安全检查
skip-grant-tables
4、安装服务
我们使用管理员账户打开cmd,并切换到F:\Program Files (x86)\mysql-5.7.19\bin目录下,执行mysqld -install
开始是没有MySQL服务的。安装后就有了。可在任务管理器-服务查看
5、初始化数据库
它会将我们的前面配置的data目录创建出来。
继续cmd执行 mysqld --initialize-insecure --user=mysql
稍微等待下,就好了,我们查看一下MySQL的安装目录里有木有data目录,有表示确实成功了。
6、启动MySQL服务
命令为:net start mysql
当然了,停止的命令为:net stop mysql
服务是否启动,我们可以通过任务管理器的服务面版查看。
7、登录MySQL
命令为:mysql -u root -p
-u 表示用户名 -p表示密码 不太懂得朋友可以网上查看一下这些命令,也可以查看我的另一个博客。MySQL常用命令
执行后,会让输入密码,因为我们配置时设置了跳过安全检查,所以这里直接按enter回车就好,看到mysql > 表示我们进入MySQL了。
8、修改root密码
# 切换数据库
use mysql;
update mysql.user set authentication_string=password('root') where user='root';
# 刷新权限
flush privileges;
9、修改my.ini
现在既然已经有了密码,那么我们就要使用权限验证的方式登录了。删除my.ini文件中的skip-grant-tables。
10、可视化管理工具
这里推荐两个MySQL可视化管理工具,分别为navicat和SQLyog。具体的安装这里就不再多说,网上有很多,可以多参考一下。
11、结束语
比起那些一键安装的来说,MySQL的安装相对来说还是比较的麻烦的,朋友们在安装的时候一定要小心谨慎,按着步骤来,如果安装错了要删除的话,也一定要删除干净,有的朋友删除完了服务还在那里,记得将服务也删除了。
删除的命令为:sc delete mysql
这里再贴一个exe的安装流程mysq exe安装
二、Linux里安装MySQL
1、下载
下载地址同上,选择相应的Linux版本
2、解压
将下载的MySQL压缩包放到Linux上,并解压。
3、移动并重命名
将解压后的MySQL文件夹移动到/usr/local/下并重命名为mysql,当然了,名字可以按需设定。
4、添加mysql用户组和用户
有就跳过,没有就添加。
groupadd mysql
useradd -r -g mysql mysql
5、创建数据目录并赋予权限
目录地址按需设定。
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
6、修改my.cnf
修改my.cnf的内容如下。
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
7、初始化数据库
进入MySQL的bin目录。
cd /usr/local/mysql/bin/
执行如下命令进行初始化。
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
初始化后会有一个默认密码,可以通过日志查看。
cat /data/mysql/mysql.err
8、启动MySQL服务
先将 mysql.server 放置到 /etc/init.d/mysql 中。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
通过命令启动MySQL服务。
service mysql start
可以查看服务是否正常运行
ps -ef|grep mysql
9、修改密码
初始化时默认设定的密码不容易记忆,我们可以自己修改密码。
我们进入/usr/local/mysql/bin目录下,使用刚刚生成的密码进行登录。
./mysql -uroot -p
登录成功后,执行如下三行命令,进行密码修改,注意,123456只是这里的讲解密码,一般不要设置这么简单的密码。
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
然后。退出使用新密码重新登录即可。
10、远程登陆
远程登陆的功能按需设置。
此时,如果我们使用第三方连接工具从其他终端进行登录本MySQL服务器,你会发现会连接失败。因为MySQL默认不能进行此操作。
进入mysql库,通过select user,host from user where user='root';
可以查看root用户允许访问的主机是只能是本机。我们可以通过修改此参数,来进行登录。如下:
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能在任何host访问
FLUSH PRIVILEGES; #刷新
tips:也许你现在还是会报错,请检查一下你的防火墙是否关闭,或者开放了对应端口
11、设置连接
从上面的步骤可以看到,没有登录MySQL都需要到/usr/local/mysql/bin/目录下找mysql,非常麻烦,我们只需要通过ln将mysql命令放到/usr/bin,以后就可以直接使用mysql -uroot -p 这种方式了。
ln -s /usr/local/mysql/bin/mysql /usr/bin
至此。MySQL的安装就完成了,大家有什么问题可以在评论区留言我们一起讨论。朋友们,江湖再见!