centOS6.5 MySQL5.7.24安装

官网下载mysql安装包 https://dev.mysql.com/downloads/file/?id=481117

选择MySQL5.7的安装包下载完成后上传至Linux服务器

使用命令tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz解压安装包后再使用命令:

cp -Rf /usr/mysql/mysql-5.7.24-linux-glibc2.12-x86_64/*  /usr/local/mysql更换mysql的目录

建议在mysql根目录使用命令:mkdir data 用于存放数据库一些初始化信息。

在初始化之前我们还要在Linux系统建立一个mysql账号与用户,可以理解为一个登陆凭证,就好像现在物业公司的门禁系统一样
所以mysql数据库源码安装是必须设置一个管理员账户才可以继续的

useradd -r -g mysql mysql #创建mysql用户

groupadd mysql  #创建用户组mysql

可以使用groups mysql 查看是否创建成功

useradd -r -s /sbin/nologin -g mysql -d /usr/local/mysql/    #-r参数表示mysql用户是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中

chown -R mysql.mysql /usr/local/mysql/  #改变目录的权限

数据库初始化

进入MySQL解压目录 使用命令

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data进行数据库初始化,

--basedir指向的应该是MySQL的解压目录在5.7.6之前初始化的方法是:bin/mysql_install_db

5.7.6之后的版本初始化数据库不再使用mysql_install_db,而是使用: bin/mysqld --initialize

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

复制启动文件

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

chmod 755 /etc/init.d/mysqld

cp bin/my_print_defaults /usr/bin/ 

修改启动脚本

vi /etc/init.d/my.cnf
修改项为图中方框的部分

#加入环境变量,编辑 /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
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
user = mysql
tmpdir = /tmp
symbolic-links=0

[mysqld_safe]

log-error = /usr/local/mysq/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid

 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,再启动

启动成功后登录发现报错了

使用命令:find / -name mysql.sock发现文件是存在的

然后我想把文件复制过去试试看。发现这条路走不通。

最终找到了解决办法。很简单那就是将usr目录下的mysql.sock文件软连接到tmp目录下

ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock

现在是可以登录了但发现需要密码,原来5.7后MySQL会生成一个随机密码,

我没有找到存放密码的文件,就只能去强制修改密码了。

在my.cnf中加上skip-grant-tables后 service mysqld restart

修改完成后发现可以不用密码直接登录


登录后执行

update mysql.user set authentication_string=PASSWORD('123456') where User='root'; 

flush privileges;

执行成功后将my.cnf 文件改回去,重启MySQL,使用新密码登录,MySQL已安装完成。

但是执行sql的时候发现一直报错,

应该是密码过期了,使用命令alter user user() identified by "123456";重新修改下密码

最后需要补充一下,按照上面的方式安装完成之后还不能进行远程的访问,需要修改允许远程连接,步骤如下:

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

配置完成后发现通过电脑本地的navicat连接该数据库连不上,还有是防火墙的问题

使用命令service iptables stop 关掉防火墙navicat连接成功。所以我们还需要对防火墙的配置进行修改

vi /etc/sysconfig/iptables 新增方框中的配置后重启防火墙。

至此MySQL的安装就完成了。

猜你喜欢

转载自blog.csdn.net/xiaosong_2016/article/details/83309612
今日推荐