- 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
输入刚才设置的密码: 成功登录
来源: http://www.bubuko.com/infodetail-2592836.html