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('123456') 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

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

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...