爱分享666

当前位置:首页 >资讯>站长新闻

linux 手动安装 mysq遇到的问题和解决方法

时间:2021-03-31 06:59:00 阅读:74

解决问题 ,借鉴了很多大神的记录,这里不过多解释原因 直接上方案,对应的原因,会把大神的方案链接拿过来。需要的同学可以自己看。

准备

mysql 下载地址:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

二、 上传至linux —> home目录下(xshell工具)

# cd

# rz    

三、开始安装

1、添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组

# groupadd mysql # useradd -r -g mysql mysql /* useradd -r参数表示mysql用户是系统用户,不可用于登录系统*/ /* useradd -g参数表示把mysql用户添加到mysql用户组中*/

2、安装在 /usr/local/ 下

# cd /usr/local

/*解压至 /usr/local */

# tar -zxvf ~/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

/*为了方便使用   重命名为mysql*/

# mv mysql-5.7.25-linux-glibc2.12-x86_64/ mysql

# cd mysql

/*更改mysql目录所属的组和用户。更改权限*/

# chown -R mysql .

# chgrp -R mysql .

# ls

3、执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格


#  bin/mysql_install_db --user=mysql

/*报错  如下*/   

2019-03-21 19:08:30 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

2019-03-21 19:08:30 [ERROR]   The data directory needs to be specified.

/*解决   需要指定data目录*/

#  mkdir data

这里说 mysql_install_db 命令已经是弃用的,建议切换到mysqld --initialize命令

/*使用 mysqld --initialize  进行创建*/

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

/*若提示以下信息 需要将 data目录删除  重新创建*/

2019-03-21T10:09:38.872437Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-03-21T10:09:38.873881Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

2019-03-21T10:09:38.873911Z 0 [ERROR] Aborting

# rm -rf /usr/local/mysql/data

# mkdir /usr/local/mysql/data

会有很多的提示信息

2019-03-21T11:18:27.293537Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-03-21T11:18:27.443262Z 0 [Warning] InnoDB: New log files created, LSN=45790

2019-03-21T11:18:27.468916Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2019-03-21T11:18:27.521886Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0cb62560-4bcb-11e9-8d47-fa163eb37325.

2019-03-21T11:18:27.522311Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2019-03-21T11:18:27.522706Z 1 [Note] A temporary password is generated for root@localhost: PreUh?epL8Ps

系统给出的初始密码 root@localhost: PreUh?epL8Ps

4、将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者

# chown -R root . # chown -R mysql data

由于此版本没有 my-default.cnf 文件 所以不考虑

5、将mysqld服务加入开机自启动项 并设置可执行权限

#  chkconfig --add mysql #  chkconfig --list mysql mysql          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

6、开启或关闭mysql服务


#/etc/init.d/mysql start   或者   service mysql start  或者  bin/mysqld_safe&

#/etc/init.d/mysql stop    或者   service mysql stop   或者  bin/mysqladmin -uroot -p

7、登录mysql

#  mysql -uroot -p生成的密码

发现这里报错

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock

解决方法:先确定文件是否存在

#  find / -name mysql.sock  /*没有找到*/

先确定以下目录是否存在 没有则创建

#  ls /var/lib/mysql

ls: cannot access /var/lib/mysql: No such file or directory


/*创建并修改权限*/

#  mkdir /var/lib/mysql

#  chmod 777 /var/lib/mysql

完成后重启

#  service mysql  restart

/*报错*/

ERROR! MySQL server PID file could not be found!

Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/*****.pid).


/*输入以下命令  查看原因*/

#  systemctl status mysql.service

/*查看error信息*/

# vim /usr/local/mysql/data/*****.err

..........

2019-03-22T01:26:29.811333Z 0 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use

2019-03-22T01:26:29.811336Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?

2019-03-22T01:26:29.811340Z 0 [ERROR] Aborting

..........

/*解决办法 1 */

#  ps -ef | grep mysql 

将存在的mysql进程  kill 进程号


/*解决方法*/

#  mkdir /var/run/mysqld

#  chmod 777 /var/run/mysqld/

#  service mysql start

8、登录成功后修改初始密码才能正常使用

/*错误如下*/

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

/*修改命令*/

#  alter user user() identified by "新密码";




上一篇:

linux虚拟机配置静态ip, 不能远程访问、ping不通解决方法

下一篇:

手动安装mysql问题-You must reset your password using ALTER USER statement before executing this statement.

0 +1
打赏 ×

如果网站能给予您帮助,欢迎给网站捐助,给我打赏个吧!
您的支持是我的动力,让网站能一直陪伴着大家,共同学习进步。
捐助费用将用于网站日常运营(服务器租费、域名租费等)
捐助者请发送邮箱提供姓名至 zhaoqn@163.com 留言以表感谢。

网友评论


  • 验证码:

热门评论

本月热门

推荐资料

精彩评论

回到顶部