centos7 MySQL-5.7源码安装

mysql官网下载与Linux服务器位数一致的mysql版本
检查原来库文件是否存在,有则删除
rpm  -qa   |   grep   mysql
 
创建mysql用户
useradd    -M   -s    /sbin/nologin     mysql
 
将下载的tar包上传到服务器,解压 (我下载的是免编译的包,解压后可以直接用)
tar   xf    mysql-5.7.****************.tar     -C   /usr/local/           
mv        mysql-5.7.**********        mysql          
chown  -R   mysql:mysql     /usr/local/mysql/ 
 
初始化数据库
cd     /usr/local/mysql/
./bin/mysql_install_db     --user=mysql     --basedir=/usr/local/mysql      --datadir=/usr/local/mysql/data   注意看是否有报错
 
cp    -a     ./support-files/my-default.cnf      /etc/my.cnf
cp    -a      ./support-files/mysql.server       /etc/init.d/mysqld
./bin/mysql_safe     --user=mysql      &
vim    /etc/my.cnf      修改一下端口号
systemctl    enable     mysqld
systemctl    restart     mysqld.service
ps -ef | grep  mysql        注意看是服务是否开启
 
初始化密码
mysql-5.6以后的版本,第一次启动时会在root目录下生成一个随机密码,文件名.mysql_secret
cat      /root/.mysql_secret
ln  -s  /usr/local/mysql/bin/*  /usr/local/sbin/   
mysql     -uroot    -p     
 
如果登录不上,就用这个办法
systemctl  stop  mysqld.service
mysqld_safe    --user=mysql    --skip-grant-tables     --skip-networking     &
此时直接输入mysql   -u   root    mysql     进入了mysql
 
在5.7版的mysql数据库下的user表中已经没有password字段了,而是将用户密码存储在authentication_string字段
mysql> UPDATE  mysql.user  SET  authentication_string=PASSWORD('123456')   where   USER='root'  and   hosst='root'   or   host='localhost';
mysql> flush     privileges;
 
重启数据库
systemctl    restart   mysqld.service
新密码登录
mysql  -uroot   -p
 
授权远程访问(注意防火墙,selinux是否关闭)
mysql> grant   all   on   *.*   to   root@'192.168.1.%'   identified   by   'root'    with    grant     option;
mysql> flush    privileges;
 
 
posted @ 2018-12-24 15:06  浮沉流沙  阅读(236)  评论(0编辑  收藏  举报