码迷,mamicode.com
首页 > 数据库 > 详细

centos6.5 二进制安装mysql5.6 遇到的问题

时间:2018-05-08 22:12:28      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:mysql5.6

wget "http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz"


tar -xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /home/mysql3308/

cd /home/mysql3308/

mv mysql-5.6.35-linux-glibc2.5-x86_64/ mysql3308



初始化:在当前目录下生成默认的my.cnf文件

./scripts/mysql_install_db --user=mysql3308 --basedir=/home/mysql3308/ --datadir=/home/mysql3308/data/


/home/mysql3308/bin/mysqld_safe --defaults-file=/home/mysql3308/conf/my.cnf &   #用自己的配置文件

报错:mysql_safe 默认的路径是/usr/local/mysql,所以要换一下路径


vim /home/mysql3308/bin/mysqld_safe 

MY_PWD='/home/mysql3308'


/home/mysql3308/bin/mysqld_safe --defaults-file=/home/mysql3308/conf/my.cnf &

启动mysql成功


因为我当时忘了搞啥了,反正就是没找到.mysql_secret文件,所以没有找到初始密码,所以悲催的只能自己设置:


设置初始密码:

1、/home/mysql3308//bin/mysqladmin -u root password 'he123321ha' -S /home/mysql3308/data/mysql.sock

报错:root 不允许localhost登录


2、/home/mysql3308/bin/mysql_secure_installation

报错找不到sock:

解决:

vim /home/mysql3308/bin/mysql_secure_installation

sub make_config {

  my $password = shift;


  my $esc_pass = basic_single_escape($rootpass);

  write_file($config,

             "# mysql_secure_installation config file",

             "[mysql]",

             "user=root",

             "password='$esc_pass'",

             "socket=/home/mysql3308/data/mysql.sock",

             "connect-expired-password");

}


添加一行"socket=/home/mysql3308/data/mysql.sock", 这样就解决了找不到sock的问题,可是还会报错root 不允许localhost登录,简直气死个人。




####上面这2个设置初始密码都因为不允许root localhost登录,都失败了,白折腾,所以还是要用跳过认证的方式#####


解决:

关闭mysql的2种方式:

1、/home/mysql3308//bin/mysqladmin -S /home/mysql3308/data/mysql.sock shutdown -uroot -p

会报错,因为此时没有密码。


2、kill -9 mysql的进程号



加--skip-grant-tables  跳过密码认证:

/home/mysql3308/bin/mysqld_safe --defaults-file=/home/mysql3308/conf/my.cnf --skip-grant-tables &


mysql -uroot -p -S /home/mysql3308/data/mysql.sock

回车直接登录进去


use mysql;


update user set password=password('he123321ha') where user='root' and host='localhost';


flush privileges;

exit


/home/mysql3308//bin/mysqladmin -S /home/mysql3308/data/mysql.sock shutdown -uroot -p     此时该命令也不报错了,可以成功关闭mysql了,因为密码生效了。



mysql -uroot -p -S /home/mysql3308/data/mysql.sock

输入刚才设置的密码:成功登录


centos6.5 二进制安装mysql5.6 遇到的问题

标签:mysql5.6

原文地址:http://blog.51cto.com/bajiebushizhu/2114177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!