最主要的一个问题是MySql 5.7以上 与 MySql5.6以下的版本在安装时大相径庭,5.6以下版本一般都会提供默认配置文件,5.7以上就不会,比如data文件夹,tmp文件夹等等。并且两者在初始化时的 命令也不一样,如果在5.7以上使用5.6以下的初始化命令,系统会发出警告并提示你该用哪个新的命令,这时候如果没注意就。。。(捂脸),而且5.7以后版本在初始化配置后会提供一个随机生成的初始密码。
首先下载mysql
MySql
选择Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive下载即可
我这里下载的是mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 刚才上官网看了下,最新的变成8了,这个安装方式是否与5.7相同我就不清楚了(捂脸)
1.把下载完的文件上传到linux服务器,开始解压。
tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2.解压改下名字,方便后续操作。我这里命名为mysql。
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
3.新建用户组合用户。
有可能出现该用户组和用户已经存在,这里是删除原先用户组/用户还是修改新建用户组/用户名都看你喜欢怎么弄了。
groupadd mysql
useradd -r -g mysql mysql
4.修改mysql根目录用户权限
进入刚才重命名后的mysql文件夹执行修改权限命令
cd mysql
chown -R mysql .
chgrp -R mysql .
或者
cd mysql
chown -R mysql:mysql ./
5.初始化 MySQL 配置表
这里会有一个不同点
5.6及以下版本使用的是
./scripts/mysql_install_db --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
//user刚才新建的用户名,scripts在mysql目录下
5.7以上改了,如果还是使用上面那个就会提示让你用--initialize命令
./bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
从命令中我们可以知道配置时还需要在mysql目录下存在一个data文件夹,但是5.7没有提供这个文件夹,所以我们需要自己在mysql根目录新建一个data文件夹。
否则会报如下提示:
[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
[ERROR] The data directory needs to be specified.
data新建完毕后就可以开始初始化了
./bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
初始化完毕后在命令行最后会提供生成好的随机密码,先拷贝下来。
新建完后修改权限
转自:https://blog.csdn.net/yeyinglingfeng/article/details/80665083