linux mysql tar.gz 配置,Linux mysql5.7(tar.gz)安装

本文档详细介绍了在Linux系统中安装MySQL 5.7的步骤,包括选择安装路径、解压文件、清理旧版本、创建用户组和用户、配置my.cnf、初始化数据库、启动服务、设置密码以及允许远程登录。在过程中可能会遇到的错误和解决方案也有提及,例如清理已安装的MySQL、处理缺少的PID文件或sock文件、忘记密码的处理等。
摘要由CSDN通过智能技术生成

本次安装:mysql默认安装在 /user/local/下,data放在/user/local/mysql安装文件夹/data/,会创建和指定mysql用户组。

mysqlll.png

2.解压文件,解压到指定目录。

tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql5.7

3.检查旧版是否删除,有则清理,清理步骤

rpm -qa|grep -i mysql

如果显示有如下包则说明已安装mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )或(rpm -e--nodeps mysql-libs)

还可参考相关文章《安装mysql5.6数据库》中的清理步骤

4.检查mysql组和用户是否存在,如无创建。[root启动的话,跳过本步骤]

cat /etc/group | grep mysql // 检查

cat /etc/passwd |grep mysql // 检查

groupadd mysql // 创建

useradd -r -g mysql mysql // useradd -r参数表示mysql用户是系统用户,不可用于登录系统; -g指定用户所属的起始群组。

5.在解压好的mysql目录下创建data目录

mkdir data

6.更改mysql目录下所有的目录及文件夹所属组合用户[root用户启动的话,跳过本步骤]

cd /opt/mysql5.7/ // cd到mysql解压的目录

chown -R nginxgroup:nginxuser mysql/ 前面的是组,后面的是用户

7.配置my.cnf

到/etc里面找my.cnf文件,没有就自己建

并写入以下内容(这个地方看着配哟,注意路径):

[mysqld]

datadir=/opt/mysql5.7/data # 指定数据文件存放位置

basedir=/opt/mysql5.7 # 指明mysql的安装路径(指定tar解压文件目录就好了)

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0# Settings user and group are ignored when systemd isused.

# If you need to run mysqld under a different user or group,

# customize your systemdunit file formariadb according tothe

# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

#

# include all files from theconfig directory

#

!includedir /etc/my.cnf.d

8.执行安装脚本,注意修改参数。(安装好之后,最后一排会打印出初始密码),这里如果报错,可能是第7步的文件路径有问题。[这里的用户建议还是用root吧,毛事太多了]

./mysqld --initialize --user=mysql

9.启动服务(bin目录下)这里指定root好了,指定你新建的用户毛事太多了。nohup其实可以不要,只加个&就好了

nohup ./mysqld_safe --user=mysql & //(这里报错,多半是第7步中的文件夹没有,注意给它mkdir,如果报那个什么.sock找不到,多半是mysql没有启动,或者my.cnf生成位置的文件路径设置不对,不对的话,它会报在哪里哪里找不到sock文件,你把第7步的socket指定到它说的那里就好。只要你正确启动了mysql,你就会有.sock文件)

10.将mysqld服务加入开机自启动项。(这一步就算了,因该不会成功)

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务,

否则就只能使用{mysql}/bin/mysqld_safe &命令来启动服务

还需要把mysql.server中basedir的相关路径,改为自定义的路径,默认路径是/usr/local/mysql

[root@dbserver support-files]# cp mysql.server /etc/init.d/mysql

[root@dbserver support-files]# chmod +x /etc/init.d/mysql

-- 把mysql注册为开机启动的服务

[root@dbserver support-files]# chkconfig --add mysql

-- 查看是否添加成功

[root@dbserver support-files]# chkconfig --list mysql

Note: This output shows SysV services only and does not include native

systemd services. SysV configuration data might be overridden by native

systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.

To see services enabled on particular target use

'systemctl list-dependencies [target]'.

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

11.启服务(这一步报错可能是第10步中加到ini.d文件夹中mysql文件的某些路径配置不对)

[root@dbserver bin]# service mysql start

Starting MySQL.Logging to '/var/log/mysql/mysql.log'.

ERROR! The server quit without updating PID file (/var/lib/mysql/dbserver.pid).

解决

[root@dbserver mysql]# rm /etc/my.cnf

rm: remove regular file '/etc/my.cnf'? y

[root@dbserver mysql]# /etc/init.d/mysql start

Starting MySQL.Logging to '/usr/local/mysql/data/dbserver.err'.

SUCCESS!

[root@dbserver mysql]# service mysql start

Starting MySQL SUCCESS!

12.登录mysql[如果启动成功了,但是报某个文件夹中找不到sock的话:find / -name mysql.sock 然后建个软连接 ln -s /var/lib/mysql/mysql.sock /某个文件夹/ ]

[root@dbserver bin]# ./mysql -u root -p

密码是第7步产生的密码

13.设置密码

mysql> set password=password("root");

Query OK, 0 rows affected, 1 warning (0.00 sec)

注意不要使用单引号,为什么?你自己试试就知道了

14.设置远程登录权限

[有时可能有两个root,这一步的更新语句可能只更新了一个,需要到mysql库的user表中查看详细的情况]

[有时可能只有一个root,但是这一步会新建一个root,密码也也不知道是啥,如果不是*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 (123456加密后的字符),则注意替换,别最后登陆都登陆不进来]

【总之就是:确定好user表中的用户名,host信息,密码之后再刷新权限并退出】

这一步如果报ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.则先需要执行一次13步。

mysql> grant all privileges on *.* to'root' @'%' identified by 'root';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.06 sec)

mysql> quit

Bye

其他异常处理:

1】unknown variable 'defaults-file=/etc/my.cnf' 未找到配置文件。解决:启动时,可以在mysqld_safe后加上参数--default-file=/etc/my.cnf,用来指定配置文件。也可能是权限异常,chmod 644 /etc/my.cnf,来调整my.cnf权限

2】Can't start server: can't check PID filepath: No such file or directory 一般是由于服务器强制关机导致pid文件丢失。解决:

2.1 在/etc/my.cnf 中查看pid-file的位置 pid-file=/var/run/mysql/mysqld.pid 。

2.2 创建对应的目录并修改权限 mkdir -p /var/run/mysql chown root /var/run/mysql 这时可以尝试重启mysql了。 如果还不行继续第三步

2.3 创建一个pid文件并修改权限 touch /var/run/mysql/mysqld.pid chown root /var/run/mysql/mysqld.pid 再启动MySQL应该就没问题了。

忘记密码如何处理:

1】先kill掉mysql5.7

2】./mysqld_safe --skip-grant-tables --skip-networking &       安全模式启动

3】update mysql.user set authentication_string=password('123456') where user='root';      修改root用户密码为123456

4】flush privileges;   应用修改

mysql 5.7 修改账号密码

法一:

mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

法二:

mysql> alter user 'root'@'localhost' identified by '123';

法三:

mysql> set password for 'root'@'localhost'=password('123');

记得最后要刷新权限

mysql> flush privileges;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值