Linux安装64位Mysql5.7.22

时间:2022-09-23 11:28:23

以安装在/usr/local目录下为例

1.下载安装包地址:https://dev.mysql.com/downloads/file/?id=476936,安装包保存到/usr/local

2.解压:

cd /usr/local(可以对应自己的路径)

tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar

mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql-5.7.22

ln -s mysql-5.7.22 mysql

3.添加用户组和用户

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

4.安装

cd /usr/local/mysql 

mkdir data

chown -R mysql:mysql ./

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (对应自己的路径,这里的初始密码要记住,以便后面登陆)

#将mysql/目录下除了data/目录的所有文件,改回root用户所有
chown -R root .
#mysql用户只需作为mysql-5.7.22/data/目录下所有文件的所有者
chown -R mysql data

5.复制启动文件

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

cp /bin/my_print_defaults /usr/bin/ 

6.修改启动脚本

vi /etc/init.d/mysqld   (里面所有的路径根据自己的路径来)
#修改项:
basedir=/usr/local/mysql-5.7.22/    (里面所有的路径根据自己的路径来)
datadir=/usr/local/mysql-5.7.22/data     (里面所有的路径根据自己的路径来)
port=3306

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vi /etc/profile   (对应自己的路径)
#添加mysql路径,加入下面内容,按ESC-->:wq保存
export PATH=$PATH:/usr/local/mysql-5.7.22/bin (对应自己的路径)
#刷新立即生效
source /etc/profile

7.修改mysql配置项

vi /etc/my.cnf

配置如下:

[mysqld] (对应自己的路径)
basedir = /usr/local/mysql-5.7.22
atadir = /usr/local/mysql-5.7.22/data
socket = /tmp/mysql.sock
user = mysql
tmpdir = /tmp
symbolic-links=0

[mysqld_safe] (对应自己的路径)

log-error = /usr/local/mysql-5.7.22/data/error.log
pid-file = /usr/local/mysql-5.7.22/data/mysql.pid
!includedir /etc/my.cnf.d

 8.启动mysql

service mysqld start

如启动失败 (对应自己的路径),删除 /usr/local/mysql-5.7.22/data下所有文件,重新执行./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data,再启动

 

9.修改初始化密码

mysql -u root -p

password:之前要记住的初始密码。

方法一:

ALTER USER USER() IDENTIFIED BY '123';

方法二:

  set password=password("123");

 

10.如果要直接使用root用户远程连接,直接执行以下sql

先输入:use mysql;

    方法一: mysql>update mysql.user set host='%' where user='root';

    线上环境建议不要开启root用户远程访问,使用下面方法创建一个用户用来远程连接

    方法二: mysql>GRANT ALL PRIVILEGES ON *.* TO '这里写账号'@'%' IDENTIFIED BY '这里写密码' WITH GRANT OPTION;

重启配置

flush privileges;

11.防火墙里开启mysql远程权限。

11.1先检查是否安装了iptables

service iptables status

安装iptables

yum install -y iptables

升级iptables

yum update iptables

安装iptables-services

yum install iptables-services

iptables-services 和 iptables 是不一样的

安装了 services才有/etc/sysconfig/iptables

开放mysql访问端口3306

11.2

修改防火墙配置文件

vi /etc/sysconfig/iptables

加入端口配置 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重新加载规则

service iptables restart

好了之后就可以用Navicat链接mysl了