很多的公司开发都是在内网,mysql也是装在内网,自己在内网安装的时候,发现了问题,这里记录一下,方便和我一样的人,本次安装的服务器事CentOS6.5 ps:这是我人生第一篇博客,此时此刻的我是无比激动的!!!
mysql官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
将下载好的mysql-5.7.22-linux-glibc2.12-x86_64.tar拷贝至linux临时目录 /tmp
# groupadd mysql
# useradd -r -g mysql mysql
使用-r参数表示mysql用户是一个系统用户,不能登录。
根据情况而定,本文直接解压在/usr/local目录,无需创建
将mysql-5.7.22-linux-glibc2.12-x86_64.tar包解压到/usr/local目录
# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
成功后进入/usr/local目录能看见mysql-5.7.22-linux-glibc2.12-x86_64
# mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
ps:官网说明是mysql-files目录提供一个方便的位置使用系统变量值secure_file_priv,跟着做吧,虽然我也没有理解清楚这是干嘛的。。。。。
# mkdir -p /usr/local/mysql/mysql-files
# chown -R mysql:mysql /usr/local/mysql/mysql-files
# chmod 750 /usr/local/mysql/mysql-files
初始化
# bin/mysqld --initialize --user=mysql
注:红色标注的是mysql的初始化root用户密码
# bin/mysql_ssl_rsa_setup
# bin/mysqld_safe --user=mysql &
将/usr/local/mysql/support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
注册为开机服务
# chkconfig --add mysql
查看是否注册成功
# chkconfig --list mysql
# service mysql start
# cd /usr/local/mysql/bin
# ./mysql -uroot -p
输入1.3步骤中得到的root用户初始化密码,出现如下错误:
解决:
# find / -name mysql.sock
把得到的结果做一个软连接到/tmp目录下
# ln -s /var/lib/mysql/mysql.sock /tmp
再次启动输入密码,ok:
mysql> alter user 'root'@'localhost' identified by 'root';
示例是修改将密码为root
linux为了安全,默认是不允许mysql服务器以外的机器访问本机mysql数据库服务的,需要重新授权root账号以提供远程访问:
mysql> grant all privileges on *.* to root@'%' identified by 'root';
mysql> flush privileges;
查看是否成功:
mysql> select host,user from mysql.user;
--------------------------------------------------------------------------
自此差不多久结束了,处女作完工