centos6.5 二进制安装mysql5.6 遇到的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos6.5 二进制安装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 遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章