一般平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以建议安装二进制免编译包。可以到MySQL官方网站去下载,也可以到comsenz官方网站下载,还有各大镜像站下载。
下载安装包,并安装依赖包
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
解压
tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql
初始化
useradd -M -s /sbin/nologin mysql
mkdir -p /data/mysql
chown mysql /data/mysql
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
注意,这一步最后一行会有一个提示
[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg
最后面的字符串为root密码
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
拷贝配置文件和启动脚本
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf //编辑或者修改
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /tmp/mysql.sock
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld //编辑或者修改
basedir=/usr/local/mysql
datadir=/data/mysql
启动服务
/etc/init.d/mysqld start
设置root密码
使用初始化密码登录
/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg' //进入后直接设置密码
mysql>set password = password('mypass'); //一定要设置一下新密码
退出来,再使用新的密码登录就可以了
还有一种情况,就是不知道初始化密码
vim /etc/my.cnf
在 [mysql] 下面增加一行
skip-grant-tables
重启mysql
/etc/init.d/mysqld restart
这时登录mysql不需要密码,进入mysql重新设置root密码
/usr/local/mysql/bin/mysql -uroot
mysql> update user set authentication_string=password('123333') where user='root';
退出来后,更改my.cnf,去掉刚加的skip-grant-tables
再次重启mysql
/etc/init.d/mysqld restart
此时就可以使用新的密码登录了。
启动服务也可以使用下面命令:
/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/etc/my5.7.cnf --user=mysql &
登录方式类似下面:
/usr/local/mysql5.7/bin/mysql -h 127.0.0.1 -P 3308 -uroot -p'rfjkGlqkd1/F'