环境:centos 6.5
初级第一次在linux下安装mysql-5.7.19版本教程,如果已经会安装了,那么请看下一篇linux下安装多个mysql-5.7.19 如果有问题请加群扣扣群300458205
1-下载
2-跳过登陆
3-上传并解压到目录../usr/local/mysql-5.7.19-3307
tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C ../usr/local
cd /usr/local
mv mysql-5.7.19-linux-glibc2.12-x86_64/ mysql-5.7.19-3307
4-添加系统mysql组和mysql用户:
执行命令:groupadd mysqlosf和useradd -r -g mysqlosf mysqlosf
5-授权当前目录给组用户mysqlosf
chown -R mysqlosf:mysqlosf .
执行红框内的两个命令发现都不行 观察报错原因意思是找不到路径 这里的原因是默认选择安装到usr/lcoal/mysql
因为我们一个系统可能安装多个数据库 一主多从 或者多主多从 ,我这里也是因为有了一个mysql那么我在安装的时候就不会使用它默认的路径以及端口3306,选择了自定义路径usr/,那么我们发现新版本的mysql这里就会有问题。
那么我查看了mysqld执行文件,结果很遗憾,那么我看到了在support-files下面有个mysql.server这里面有个红色框内说的特别好,那么我们理解他就是配置文件默认的,然后红色框内是描述:
大意翻译:如果你安装mysql在其他路径 而不是usr/local/mysql,那么你必须做以下的事情 运行这个脚本在mysql安装的目录,创建一个 /etc/my.cnf文件和以下信息 [mysqld]
添加上述的内容到任意其他的配置文件 例如 ~/.my.ini
basedir=<path-to-mysql-installation-directory>
并且copy my_print_defaults 到 /usr/bin
添加这个路径到安装目录的基本路径,如果你想要影响其他变量你应该啊做些改变在etc/my.cnf 或其他配置信息。
如果你改变了基本目录,你必须也改datadir数据目录,这些会是设置的默认配置文件被重写。
但是相同道理我发现个可恶的事情,假如说现在你安装这个安装了那么再来一个mysql呢也是这么安装,到etc/my.cnf吗?可以发现这里其实他想表达的只是如果你需要只是安装一个mysql的话那么安照刚才上面所述的就可以了,但是我们现在要安装多个,那么肯定这样是不可以的,但是配置文件肯定
6-得需要 先在mysql-5.7.19-3307目录下创建my.cnf配置文件如下图:
7-然后开始初始化3307端口上的mysql:
bin/mysqld --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf --initialize --user=mysqlosf
然后提示信息如图:
2017-07-20T03:34:58.140832Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-07-20T03:35:00.213126Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-07-20T03:35:00.482183Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-07-20T03:35:00.554451Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 68e5e3b4-6cfc-11e7-a9af-00163e30bbf6.
2017-07-20T03:35:00.557933Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-07-20T03:35:00.562343Z 1 [Note] A temporary password is generated for root@localhost:
hgPcBW?Xf86b(临时数据库密码新版本数据库为了加强安全性)
------------
8-生成密钥:
bin/mysql_ssl_rsa_setup --defaults-file=/usr/local/mysql-5.7.19-3307/my.cnf
Generating a 2048 bit RSA private key
...............................................................................................................................................................+++
................................................................+++
writing new private key to 'ca-key.pem'
-----
Generating a 2048 bit RSA private key
............................+++
....+++
writing new private key to 'server-key.pem'
-----
Generating a 2048 bit RSA private key
...............................................................................................................................................................................................................................+++
......................................................................+++
writing new private key to 'client-key.pem'
-----
9-补之前的目录 哈哈之前没有创建不知道影响啥
mkdir mysql-files
chmod 750 mysql-files
chown -R root .
chown -R mysqlosf data mysql-files
10-启动mysql后台进行
bin/mysqld_safe --user=mysqlosf &
[1] 28106
[root@iZ2ze2jvzepskyobjmavtiZ mysql-5.7.19-3307]# 2017-07-20T04:01:40.623159Z mysqld_safe Logging to '/alidata/log/mysql/error.log'.
2017-07-20T04:01:40.679386Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.7.19-3307/data
2017-07-20T04:01:40.868828Z mysqld_safe mysqld from pid file /usr/local/mysql-5.7.19-3307/data/iZ2ze2jvzepskyobjmavtiZ.pid ended
11- Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
12-开始登录mysql进行相关操作
bin/mysql -uroot -p
输入密码就是:初始化端口的时候提示的
但是拒绝了,发现上面的sql启动的时候有问题msyqld_safe 。。。。ended
mysqld_safe mysqld from pid file /usr/local/mysql-5.7.19-3307/data/iZ2ze2jvzepskyobjmavtiZ.pid ended
也就是说没有启动起来,查看下:(果然没有哈哈 那么遇见问题了继续解决呗)
使用root用户登陆没有报错但是一直是这状态 没有成功
查看状态启动了但是发现有个问题就是socket两个相同不过不是一个端口也是可以存在的继续走试试
成功了应该就是刚才的那个mysqlosf我没有赋值权限成功。。。我的天呢
13-登录MySQL之后,要求立即修改密码,否则不能进行任何操作。执行下面的命令修改’root’@’localhost’的密码:
SET PASSWORD = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
14-为了可以远程登录,增加一个’root’@’%’账号:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
15-本地测试连接
按照上面的办法,继续解压安装mysql-5.7.19-linux-glibc2.5-x86_64.tar.gz,并且配置为3308,3309端口,就可以安装多个mysql了。