一、卸载
如果之前已经安装过mysql,安装前请先卸载,再进行以下的教程。
卸载参考:Linux->卸载Mysql方法总结
二、安装
1、准备压缩包,这里附上华为镜像地址,下载速度贼6,还有提供其他开发常用的软件包,基本都可以在这里面找到.不同版本的安装过程会有细微的区别,这里就以5.7.26版本为例。
下载链接:华为镜像-mysql
温馨提示:64位系统选择压缩包的时候,要选择带有x86_64的,不然无法执行mysql初始化命令
2、解压,并拷贝到 /usr/local 目录下,重命名为mysql
执行: tar zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -- 解压
cp -r mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql -- 拷贝,重命名
3、创建用户组和用户,进入到 /usr/local/mysql 授权目录和用户
执行: groupadd mysql --添加用户组,名为mysql
useradd -r -g mysql mysql --创建用户mysql,并归属到群组mysql
mkdir /usr/local/mysql/data --创建data文件夹(该版本没有data文件夹)
cd /usr/local/mysql -- 进入到 /usr/local/mysql
chgrp -R mysql . --变更mysql用户组有操作当前文件夹的权限('.'点表示当前目录)
chown -R mysql . --变更mysq|用户具有操作本级目录的权限
补充 : cat /etc/group | grep mysql --查看指定的用户组
cat /etc/passwd | grep mysql --查看指定的用户
4、初始化,以下命令必须保证在 /usr/local/mysql 下执行,执行完成后,会输出 root 用户的初始默认密码,如 :
[Note] A temporary password is generated for root@localhost: dkDfi*7%Fntr
dkDfi*7%Fntr 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码
执行: ls /etc/my.cnf --判断/etc/my .cnf是否存在,如果存在删除(该文件为mysql全局配置文件)
rm /etc/my.cnf --如果存在,执行此删除命令,否则跳过
(-- 执行初始化前,可以预先配置my.cnf,如不需要直接进行下一步 --)
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --初始化数据库(datadir就是安装路径,basedir就是根目录)
补充: ./scripts/ mysql_ install_ dbi--user=mysql --5.6版本初始化命令
(在 5.7.18 版本后,使用 tar.gz 安装时,也就是压缩包解压出来安装这种,已经不再需要 my.cnf 文件也能正常运行,my.cnf 文件就是把在命令行上启动 MySQL 时后面的参数用 cnf 文件配置好)
如需配置,请参考: my.cnf配置文件解决方案
5、配置启动文件,以下命令必须保证在 /usr/local/mysql 下执行 ,根据自己的需要进行修。如果不需要特殊操作,可以直接复制。
执行: cp ./support-files/mysql.server /etc/rc.d/init.d/mysql --复制启动文件
service mysqld start --启动mysql(显示SUCCESS的话,到这里就已经启动成功了)
6、登录mysql,并更改root 密码。
执行: mysql -u root -p --使用root用户登录mysql,将初始默认密码粘贴进去
补充: ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql --提示找不到mysql命令,执行此命令,添加软连接,就可以在任何路径下执行mysql命令,否则需要到mysql的bin目录下执行
(-- 执行以下命令,修改ROOT用户密码 --)
SET PASSWORD = PASSWORD('root'); --更改密码为root
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; --密码不过期
FLUSH PRIVILEGES; --刷新权限
use mysql --访问mysql库(需要支持远程连接的时候,还需要执行以下命令)
update user set host = '%' where user = 'root'; --使root能再任何host访问
FLUSH PRIVILEGES;--刷新权限
select user,host from user; --查看是否修改成功
7、iptables的功能之一就是防火墙,默认开放22端口。远程连接mysql,还需要配置一下3306端口。
执行: vim /etc/sysconfig/iptables --打开iptables配置文件
service iptables restart --重启防火墙
快捷键: 复制行--yy 粘贴--p 删除行--dd i-当前光标出插入文本 :wq --保存退出
8、最后,打开Navicat工具,远程连接测试一下。大功告成!
搭建参考:
Linux安装MySQL5.7
linux安装mysql5.7.27
windos安装mysql5.7