mysql5.7的安装和mysql5.6的安装变化蛮大的.我一开始按照官方文档的说明安装的,根本不行,不得不吐槽一下mysql的官方安装文档很差,和mongodb的没法比.
注意:在使用二进制包安装mysql的时候,确保你的系统上没有以前的使用yum或者rpm安装的旧的mysql,如果存在,使用rpm -e命令来删除.包括删除/etc/my.cnf
下面是安装步骤:
1.创建mysql用户和组
groupadd mysql useradd -r -g mysql -s /bin/false mysql
2.解压缩安装包
tar zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ cd /usr/local ln -sv mysql-5.7.14-linux-glibc2.5-x86_64 mysql
3.创建数据文件目录并且赋权
cd /usr/local/mysql chown -R mysql.mysql *
这里我将mysql数据文件放在/data/mysql/data下
mkdir -p /data/mysql/data chown -R mysql:mysql /data/mysql/data
4.创建mysql配置文件
这里我直接拷贝了以前使用的my.cnf,其中有些参数已经被遗弃.数据目录,日志目录根据现实环境修改:
5.初始化mysql
在5.6初始化使用scripts/mysql_install_db来实现,而5.7.6以后的版本则使用bin/mysqld --initialize来实现
根据上面的my.conf来初始化:
- cd /usr/lcoal/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --pid-file=/data/mysql/data/mysql.pid chown -R root .
6.将mysql设置为服务
cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 35 mysqld on
7.启动连接mysql
这时你就可以启动mysql了
5.7以后root密码写在/root/.mysql_secret下
cat /root/.mysql_secret mysql -uroot -p Enter password:
8.其他
我这里安装完成之后使用.mysql_secret的密码总是报错密码错误.解决办法是,
先在my.cnf中添加skip-grant-tables参数来跳过授权表
然后启动数据库.再执行下面的语句:
mysql> flush privileges; Query OK, 0 rows affected (0.32 sec) mysql> set password for root@'localhost'=password('root'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
mysql5.7的mysql.user中不再存放passwod列,因此不能直接update了.
|