linux安装mysql-5.7.20(非yum方式)
安装mysql之前需要确保系统中有libaio依赖,使用如下命令
yum install -y libaio
yum install -y numactl
上传安装包并解压
解压缩
做一个软链
新增mysql使用者组和mysql使用者(-s /bin/false引数指定mysql使用者仅拥有所有权,而没有登入许可权)
进入安装mysql软件的目录
修改当前目录拥有者为新建的mysql使用者
安装mysql,安装命令
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
有一个临时密码需要记录
开启mysql服务:
./support-files/mysql.server start
出现问题
检视错误日志
错误资讯
修改my.cnf配置档案
修改内容
重新开启服务
将mysql程序放入系统程序中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
重新启动mysql服务,命令如下:
service mysqld restart
确认是否启动了
在登陆的时候出现下面的问题
因为是从tmp目录下,所以有可能/tmp下的这个档案将会被删除
我们重新修改my.cnf
再启动数据库,使用随机密码登入mysql数据库,如果登陆不进去使用下面的方法进入数据库
(1)、修改 /etc/my.cnf,在 [mysqld] 小节下新增一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
(2)、重启 mysqld 服务:service mysqld restart
(3)、使用 root 使用者登入
(4)、切换到mysql数据库
更新 user 表:update user set authentication_string = password(\'root\'), password_expired = \'N\', password_last_changed = now where user = \'root\';;
这样密码就改成了 “root”
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
(5)、退出 mysql,编辑 /etc/my.cnf 档案,删除 skip-grant-tables=1 的内容
(6)、重启 mysqld 服务,再用新密码登入即可
把命令放到PATH中
再进入,成功进入Mysql
