|  | 一、卸载原来的mysql
 
  出现这种错误极有可能是上一个mysql的残留文件没有删除,在/etc目录下查找有没有my.cnf文件,如果有删除它 rm -rf my.cnf。再去/usr/local和root目录下查看有没有mysql的相关文件,全部清除。然后在命令行输入命令:
 
   rpm -qa |grep mysql
  
 把列出的文件全部删除
 
   rpm -e --nodeps  软件名称
  然后执行命令
 
   find / -name mysql意思是从根目录查找,有没有叫mysql的文件
 把显示出来的文件全部删除
 
   rm -rf 文件路径/二、安装mysql
 
 1.获取包
 全部卸载完成后开始安装mysql
 在线下载:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
 
 然后把压缩包解压到/usr/local目录
 
   tar zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local进入/usr/local/目录 把解压包重命名为mysql
 
   mv mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz mysql2.创建用户组和用户
 
 创建用户组:
 
   groupadd mysql创建用户:
 
   useradd -r -g mysql mysql为了安全性,给mysql数据库创建专有用户,该用户只能访问mysql目录,不能访问系统其它目录
 
 另外不建议直接用root初始化mysql,否则连接mysql时会报错:[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
 3.给mysql目录指定专有用户和用户组
 首先创建data目录:
 
   cd /usr/local/mysql指定用户和用户组:
 mkdir data
 
 
   cd /usr/local-R包含目录下所有和目录和文件
 chown -R mysql mysql/
 
 chgrp -R mysql mysql/
 
 
 4.初始化mysql
 
   cd /usr/local/mysql/bin记住生成的临时密码
 ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
 
 
  
 如果忘记密码或者想重新初始化,可以先将mysql/data目录中文件删除,然后再执行初始化命令
 5.配置my.cnf
 从5.7.17后mysql就没有默认的my_default.cnf文件,需要手动创建
 
   cd /etc输入以下内容,ctrl+D退出
 cat>>my.cnf
 
 
   [mysqld]6.启动mysqlbasedir=/usr/local/mysql/
 datadir=/usr/local/mysql/data/
 
 
   cd /usr/local/mysql/bin7.设为开机启动
 ./mysqld_safe --user=mysql &(回车返回命令行状态)
 
 
   cd /usr/local/mysql/support-files/将mysql目录填上:
 cp mysql.server /etc/init.d/mysql
 
 vi /etc/init.d/mysql
 
 
   basedir=/usr/local/mysql/授权:
 datadir=/usr/local/mysql/data/
 
 
   chmod +x /etc/init.d/mysql设为开机启动:
 
   chkconfig --add mysqlservice启动
 重启服务:
 
   service mysql restart停止服务:
 
   service mysql stop启动服务:
 
   service mysql start查看服务:
 
   service mysql status8.登录mysql修改密码授权远程登录
 
   cd /usr/local/mysql/bin登录:
 
   mysql -u root -p    输入临时密码修改密码:
 
   set password=password("root");登录授权:
 
   grant all privileges on . to'root' @'%' identified by 'root'授权生效:
 
   flush privileges完成!
 
 
 
 ----------------------------
 原文链接:https://blog.51cto.com/13670314/2176790
 作者:九月朦胧
 
 程序猿的技术大观园:www.javathinker.net
 
 
 
 [这个贴子最后由 flybird 在 2020-03-15 10:42:08 重新编辑]
 |  |